如何将listviewitem中的按钮绑定到Winrt中的ViewModel中的Command

我在ViewModel中有一个NavigateToAccountsCommand RelayCommand属性。 当我将相同的页面上的按钮绑定到ListView外的任何位置时,命令绑定正在运行。 但是,只要我将其移动到ListView的DataTemplate,它就无法正常工作。

我已经尝试将绑定从NavigateToAccountsCommand更改为DataContext.NavigateToAccountsCommand仍然无法正常工作。

感谢您的帮助…

       

当您在ListViewDataTemplate中时,您的数据上下文是ListView的ItemsSource的当前项。 由于AllAcounts的每个元素都没有“ NavigateToAccountsCommand ”属性,因此绑定无效。

要解决这个问题,您需要从DataTemplate的外部引用一些内容; 以下应该工作。 它更改绑定以引用根网格的DataContext ,该DataContext应该可以访问属性NavigateToAccountsCommand 。 要引用网格,必须添加Name属性,然后使用ElementName绑定。

         

您可以使用

  

我有一个类似的问题(Win RT),我通过使用解决了:

   

然后在Page类中:

  private void ItemView_ItemClick(object sender, ItemClickEventArgs e) { //e is the object being clicked }