1

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

谁能给我一些关于这个问题的建议?

非常感谢。

4

1 回答 1

1

您可以使用Interactivity和自定义行为来触发事件。这是一个主题涵盖示例的帖子: MVVM-Light EventToCommand Behavior for CheckBox Checked/Unchecked in Silverlight

MVVM-Light 确实让这变得更容易,但也有可能没有。

这是一个没有的例子:http: //blog.roboblob.com/2010/01/26/binding-ui-events-from-view-to-commands-in-viewmodel-in-silverlight-4/

于 2013-01-17T14:53:45.213 回答