我有一组对象,我想绑定到我的Xaml(目前使用GridView) . 我不知道GridView是否是我想要实现的最佳工具 .
这大致是我目前的DataTemplate:
我需要在Grid1上点击/点击触发器 . 但是当我将此模板与GridView一起使用时,ItemClick事件将在完整模板上触发 - 当然这是正确的 . 如何在Grid1上设置click事件?我可以在DataTemplate声明中添加此事件吗?
这基本上是我的GridView的xaml:
<GridView x:Name="RoomsGridView"
VerticalAlignment="Top"
ItemsSource="{Binding Rooms}"
ItemTemplate="{StaticResource RoomTemplate}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="RoomsGridView_ItemClick" Padding="0">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
Edit :我发现this sample但这似乎只适用于按钮!?
1 回答
在您上面发布的代码中,您已告诉
GridView
通过IsItemClickEnabled="True"
捕获项目点击次数 . 如果您希望能够单击DataTemplate
内的元素,则无法启用该选项 .我建议您禁用
IsItemClickEnabled
,而是向Grid1添加一个单击处理程序 . 更好的方法是用一个具有自定义样式的按钮替换你的Grid1
. 这将进一步允许您将按钮绑定到可以从视图模型控制的命令 .