在mvvmlight中按下“后退”按钮

时间:2013-05-02 10:33:28

标签: windows-phone-7 mvvm-light

我该如何移动

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 

到viewmodel并仍能控制“后退”?在代码隐藏中,我可以使用 e.Cancel = true; ,但如何在viewmodel中使用它?

2 个答案:

答案 0 :(得分:0)

我得到的第一个想法是将其保留在代码隐藏中,并将消息发送到viewmodel,因此它应该改变它的状态。但我仍然希望将事件绑定到VM。

答案 1 :(得分:0)

你不能绑定一些不可绑定的东西。您所能做的就是使用Behavior<T>创建一个假绑定,但没有多大意义。

相反,您可以简单地在ViewModel中转发事件,执行以下操作:

e.OnCancel = ViewModel.OnBackKeyPress();

然后让OnBackKeyPress()返回bool