【发布时间】:2013-05-02 10:33:27
【问题描述】:
我该如何移动
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
到视图模型并且仍然能够控制“支持”?在代码隐藏中,我可以使用 e.Cancel = true;,但是如何在 viewmodel 中使用它呢?
【问题讨论】:
标签: windows-phone-7 mvvm-light
我该如何移动
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
到视图模型并且仍然能够控制“支持”?在代码隐藏中,我可以使用 e.Cancel = true;,但是如何在 viewmodel 中使用它呢?
【问题讨论】:
标签: windows-phone-7 mvvm-light
你不能绑定不能绑定的东西。您所能做的就是使用Behavior<T> 创建一个假绑定,但这没什么意义。
相反,您可以简单地在 ViewModel 中转发事件,执行以下操作:
e.OnCancel = ViewModel.OnBackKeyPress();
然后让OnBackKeyPress() 返回一个bool。
【讨论】:
我得到的第一个想法是将其留在代码隐藏中,并向视图模型发送消息,因此它应该改变其状态。但我还是更喜欢将事件绑定到 VM。
【讨论】: