0
我想要實現的是:我想要一個命令在元素被加載時被觸發,並且我想獲得該元素的Refference,所以我可以在MainViewModel.cs
。綁定事件命令並獲得對UI元素的引用
我的嘗試:
我寫這篇XAML代碼:
<visualizer:PreviewTile DisplayName="Share Tile" TileSize="Wide" Background="Red" IsAnimationEnabled="True" x:Name="P">
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Loaded">
<core:InvokeCommandAction Command="{Binding LoadedVisualizer}"></core:InvokeCommandAction>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</visualizer:PreviewTile>
並增加這一塊代碼:
private RelayCommand _loadedVisualizerCommand;
public RelayCommand LoadedVisualizer
{
get
{
return _loadedVisualizerCommand
?? (_loadedVisualizerCommand = new RelayCommand(
async() =>
{
await new MessageDialog("Loaded", "Some Content").ShowAsync();
}));
}
}
但該方法不會被調用時,加載的事件正在被解僱。
所以,我想這得到REFFERENCE的控制,但它拋出一個NullRefference
例外:
在MainViewModel
:
public PreviewTile PreviewTile { get; set; }
在MainPage.xaml.cs
:
public MainPage()
{
InitializeComponent();
Loaded += (s, e) =>
{
Vm.PreviewTile = P;
};
}
儘管有是關於在mvvm燈光中使用事件的一些文章和問題(一些未解答)我無法弄清楚我如何才能使這個工作。
謝謝你的答案和示例項目 - 它正在工作 - ,idk爲什麼有人低估了這個 –
太棒了,開心的幫助:-) –