【发布时间】:2017-04-29 14:03:49
【问题描述】:
在我的 UWP Windows 10 应用程序中,我想从事件和其他内容中清除我的代码隐藏并在 ViewModel 中执行所有操作,因此我使用 Core:InvokeCommandAction 在 VM 中调用命令,但我不知道如何将发送者和 Frame 对象的 Navigated 事件的参数传递给它
<Frame x:Name="MyFrame" SourcePageType="{Binding MainFramePageType, Mode=TwoWay}">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="Navigated">
<Core:InvokeCommandAction Command="{Binding MyFrameNavigatedCommand}" CommandParameter="{Binding ElementName=MyFrame}"/>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Frame>
在虚拟机中:
public RelayCommand<object> MyFrameNavigatedCommand { get; private set; }
...
MyFrameNavigatedCommand = new RelayCommand<object>(MyNavigatedCommandExecuted);
...
private void MyNavigatedCommandExecuted(object sender)
{
(sender as Frame).BackStack.Clear();
}
【问题讨论】:
标签: xaml mvvm uwp windows-10 mvvm-light