滑动选择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。