[英]UWP How to get the custom item clicked in a GridView
我有一个带有自定义控件项的网格视图,如下所示。 这些项目是类型为StaticResource:UserControlCataloghiTematici的UserControll。
<GridView SizeChanged="listView_SizeChanged"
x:Name="listView"
Background="#fff"
Margin="0,50,10,0" BorderThickness="0" Grid.Row="1" IsItemClickEnabled="True" ItemClick="listView_ItemClick" SelectionChanged="listView_SelectionChanged" Grid.Column="4"
Width="{Binding ActualWidth, ElementName=griglia}">
<GridView.ItemTemplate>
<DataTemplate x:Name="ImageTextDataTemplate" >
<StaticResource:UserControlCataloghiTematici Height="auto" Width="auto" >
</StaticResource:UserControlCataloghiTematici>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
由于事件中的发件人是GridView,是否有办法找回在listView_ItemClick事件中单击的UserControl?
是的,您可以使用GridView
的ContainerFromItem
方法来检索包装模板内容的GridViewItem
元素。 然后,您可以使用VisualTreeHelper
按其类型查找用户控件。
var gridViewItem = MyGridView.ContainerFromItem(e.ClickedItem) as GridViewItem;
var control = gridViewItem.FindDescendant<UserControlCataloghiTematici>() ;
这要求您使用UWP社区工具包中的VisualTreeExtensions
,您可以在NuGet上获得它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.