我目前正在编写Windows 8应用程序。我试图在我的ViewModel中调用一个方法。我希望在双击项目时调用此方法。我在我的XAML中定义了以下DataTemplate来执行此操作:
<DataTemplate x:Key="ItemTemplate">
<StackPanel Orientation="Horizontal">
<Image Width="185" Height="185" Stretch="Fill" Source="{Binding Path=Image}" DoubleTapped="{Binding Path=MethodIWishToBindTo}" IsDoubleTapEnabled="True" />
</StackPanel>
</DataTemplate>
问题当然是我绑定到MethodIWishToBindTo
的错误消息:
'DoubleTapped'的值无效。事件值必须是文本
我最好的解决方法是什么?我可以在代码隐藏中调用该方法,但是该方法在我的ViewModel "SelectedItemInList"
中使用了一个属性,我认为不能从后面的代码中访问该属性。
有人能就这个问题向我提出一些建议吗?
非常感谢。
答案 0 :(得分:1)
您可以使用Interactivity
和自定义行为来触发事件。这是一个局部涵盖一个例子的帖子:
MVVM-Light EventToCommand Behavior for CheckBox Checked/Unchecked in Silverlight
MVVM-Light肯定会让这更容易,但也可能没有。