有没有办法将BackKeyPressed事件连接到视图中的命令(XAML)?我正在使用MVVM Light。
我有一些可能会显示的登录/注册屏幕。如果他们在登录/注册过程中,这只是显示/隐藏用户控件,我希望能够拦截后退按钮,这样我就可以显示/隐藏适当的控件。
答案 0 :(得分:6)
请注意,我不熟悉WP7开发,但我相信MVVM Light可以处理WPF4& WP7同样如此:
<PhoneApplicationPage
xmlns:Command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP7"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity">
<Interactivity:Interaction.Triggers>
<Interactivity:EventTrigger
EventName="BackKeyPress">
<Command:EventToCommand
Command="{Binding BackKeyPressCommand}" />
</Interactivity:EventTrigger>
</Interactivity:Interaction.Triggers>
</PhoneApplicationPage>
答案 1 :(得分:0)
您可能能够通过编写自己的继承自PhoneApplicationPage并暴露公共事件的BasePage类来实现此目的,然后在override OnBackKeyPress
方法中触发该事件
在您的自定义页面中,您可以继承新的BasePage类而不是PhoneApplicationPage,然后可以将该事件绑定到XAML中的命令。
然而,在这种特殊情况下,我想我可能会想要使用C#而不是XAML - 例如直接在OnBackKeyPress中调用Execute