繁体   English   中英

从绑定到XAML中的事件在ViewModel中调用命令?

[英]Calling a command in my ViewModel from a binding to an event in my XAML?

我目前正在编写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" ,我不相信可以从后面的代码中访问该属性。

有人可以给我一些关于这个问题的建议吗?

非常感谢。

您可以使用Interactivity和自定义行为来触发事件。 这里的文章主要介绍了一个示例: MVVM-Light EventToCommand在Silverlight中选中/未选中复选框的行为

MVVM-Light无疑使此操作更容易,但也有可能做到这一点。

这是一个不包含以下内容的示例: http : //blog.roboblob.com/2010/01/26/binding-ui-events-from-view-to-commands-in-viewmodel-in-silverlight-4/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM