C# GridView部分上的ItemClick事件
我有一个要绑定到Xaml的对象集合(目前使用GridView)。我不知道GridView是否是实现目标的最佳工具 这大致是我当前的数据模板: 我需要在Grid1上单击/点击触发器。但是,当我将此模板与GridView一起使用时,ItemClick事件将在完整模板上触发-这当然是正确的。如何在Grid1上设置单击事件?我可以在DataTemplate声明中添加此事件吗 这基本上就是我的GridView的xaml:C# GridView部分上的ItemClick事件,c#,windows-runtime,windows-store-apps,winrt-xaml,C#,Windows Runtime,Windows Store Apps,Winrt Xaml,我有一个要绑定到Xaml的对象集合(目前使用GridView)。我不知道GridView是否是实现目标的最佳工具 这大致是我当前的数据模板: 我需要在Grid1上单击/点击触发器。但是,当我将此模板与GridView一起使用时,ItemClick事件将在完整模板上触发-这当然是正确的。如何在Grid1上设置单击事件?我可以在DataTemplate声明中添加此事件吗 这基本上就是我的GridView的xaml: <GridView x:Name="RoomsGridView"
<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>
编辑:我发现这似乎只适用于按钮 在您上面发布的代码中,您已告知
GridView
通过IsItemClickEnabled=“True”
捕获项目点击。如果希望能够单击DataTemplate
中的元素,则不能启用该选项
我建议您禁用
IsItemClickEnabled
,而是在Grid1中添加一个单击处理程序。更好的方法是用具有自定义样式的按钮替换Grid1
。这将进一步允许您将按钮绑定到可以从视图模型控制的命令。Hi Kasper,我在Datatemplate中向Grid1添加了一个“点击”事件,但是如何在视图模型中访问此事件?编辑:如果您像我一样将事件放在StandardStyles文件中,您似乎无法“轻松”使用Datatemplates中的事件。我现在在页面资源中本地有了datatemplate,所有事件现在都可以正常工作了。关于这个问题的更多信息:我建议您尽可能多地使用命令。这些在视图模型中很容易使用,并且它们不会以任何方式限制数据模板。好的,我将深入研究命令。:)但需要确定的是:是否可以在网格的“点击”事件中使用命令,或者只能在按钮的Command
属性中使用命令?我只是不清楚如何在点击事件中使用它们。这是不可能的。您可以使用附加属性解决此问题。为网格创建自己的附加属性相当简单。