Wpf MVVM多点触控命令绑定

Wpf MVVM多点触控命令绑定,wpf,mvvm,multi-touch,commandbinding,Wpf,Mvvm,Multi Touch,Commandbinding,我想创建一个WPF对话框,用户在执行命令之前必须至少按下两个按钮。 我可以使用触摸事件背后的代码来创建它,但更喜欢使用MVVM命令绑定和专用的用户控件,以便它可以在其他应用程序中重用 当两个按钮同时按下时,我如何激活ICommand?我看不出创建具有这种行为的用户控件并在整个应用程序中使用它有什么不对-为什么需要MVVM?当你检测到你的代码隐藏中有2个按钮被按下时,你可以引发一个路由事件。也许在你的虚拟机中,你应该有绑定到你的按钮的被按下的道具的道具,然后在命令中检查它们是否同时按下和执行所有我

我想创建一个WPF对话框,用户在执行命令之前必须至少按下两个按钮。 我可以使用触摸事件背后的代码来创建它,但更喜欢使用MVVM命令绑定和专用的用户控件,以便它可以在其他应用程序中重用


当两个按钮同时按下时,我如何激活ICommand?

我看不出创建具有这种行为的用户控件并在整个应用程序中使用它有什么不对-为什么需要MVVM?当你检测到你的代码隐藏中有2个按钮被按下时,你可以引发一个路由事件。也许在你的虚拟机中,你应该有绑定到你的按钮的被按下的道具的道具,然后在命令中检查它们是否同时按下和执行所有我的应用程序都使用MVVM模式,其中ViewModel和View之间有明确的分隔。视图可能会有所不同,这取决于不同的情况,例如触摸设备可用。所以我不想引用按钮,只想使用ICommand命令进行交互。例如,在非触摸式设备上,用户可以在命令激活前按下一个按钮。假定的解决方案不会破坏MVVM模式。您将不会引用按钮,相反,您将声明指示特殊状态的VM道具,就像您使用复选框或切换按钮所做的那样。在您的命令或CanExecute方法中,检查触摸设备是否可用,以便您可以使其按您的意愿运行。另一个线索是,在MVVM中,您可以实际使用代码隐藏,只要它不干扰模型、验证或除视图逻辑本身以外的任何其他逻辑。所以,您可以在代码中使用按钮点击处理程序,检查按钮的按下状态并执行VM方法。当然,这可能是很容易的,也可能是不可能的,这取决于您特定的VM-View实现和样式。