滑动选择MVVM中的GridView项目

滑动选择MVVM中的GridView项目

问题描述:

我有一个GridView,我希望能够滑动选择项目或单击它们。滑动选择MVVM中的GridView项目

因为我想与MVVM一起工作,Click由一个按钮上的Command来处理,它是GridView中任何项目的根。

在这下面一个简单的例子:

<GridView 
    ItemsSource="{Binding Source={StaticResource GroupedItemsViewSource}}" 
    IsSwipeEnabled="True" 
    Padding="116,0,40,46"> 
    <GridView.ItemsPanel> 
     <ItemsPanelTemplate> 
      <VirtualizingStackPanel Orientation="Horizontal"/> 
     </ItemsPanelTemplate> 
    </GridView.ItemsPanel> 
    <GridView.ItemTemplate> 
     <DataTemplate> 
      <Button Command="{Binding ClickedCommand}" /> 
     </DataTemplate> 
    </GridView.ItemTemplate> 
</GridView> 

我的问题是,刷卡也不会,只要我在ItemTemplate按钮确认。因此,按钮上的命令似乎接收所有手势,并且不允许轻扫选择该项目。当我

没有人有同样的问题或想法如何解决这个问题?

谢谢!

我会避免使用GridViewItem中的按钮,因为它们有冲突的输入处理。只需将您的内容放在那里,而不是放在按钮中。我使用它的方式是处理ItemClick事件,从事件发送者(可能是GridViewItem)获取DataContext以获取项目视图模型并从事件处理函数中调用该命令。如果你真的不喜欢代码 - 你可以用你喜欢的搜索引擎查找"gridview itemclick command",你可能会发现一些允许将命令绑定到事件的attached behavior