如何在Metro应用程序中处理MVVM中的事件?我在WPF中使用了来自MVVM light的交互类和EventToCommand,但似乎在WinRT中没有交互。也没有触发器所以我必须“使用丑陋的方式”? (代码背后和
(this.DataContext as ViewModel).Command.Execute()
?)
答案 0 :(得分:1)
到目前为止我发现的EventToCommand的最佳替代方案是附加的命令解决方案,该解决方案已在此CodeProject article中演示。
这就是它的使用方式。
<Button Content="Test Button"
local:AttachedCommand.RoutedEvent="PointerEntered"
local:AttachedCommand.Command="{Binding TestCommand}"/>
另一种选择是Joost van Schaik的mimic of the EventToCommand行为,但鉴于所需的依赖关系,它对我来说太沉重了。
答案 1 :(得分:0)
使用与Silverlight相同的方法附加命令,除了绑定到viewmodel将使用接口和实现它的类。此类应该用作datacontext中的定位器,并在app.xaml.cs文件中声明它。如果您需要更多详细信息,请与我们联系。