C# UWP如何在GridView中单击自定义项
我有一个带有自定义控件项的网格视图,如下所示。这些项是类型为StaticResource:UserControlCatalogHiteMatic的UserControllC# UWP如何在GridView中单击自定义项,c#,gridview,uwp,click,C#,Gridview,Uwp,Click,我有一个带有自定义控件项的网格视图,如下所示。这些项是类型为StaticResource:UserControlCatalogHiteMatic的UserControll <GridView SizeChanged="listView_SizeChanged" x:Name="listView" Background="#fff" Margin="0,50,10,0" BorderThickness=
<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\u ItemClick事件中单击的UserControl?是的,您可以使用
GridView
的ContainerFromItem
方法检索包装模板内容的GridViewItem
元素。然后,您可以使用VisualTreeHelper
按类型定位用户控件
var gridViewItem = MyGridView.ContainerFromItem(e.ClickedItem) as GridViewItem;
var control = gridViewItem.FindDescendant<UserControlCataloghiTematici>() ;
var gridViewItem=MyGridView.ContainerFromItem(如ClickedItem)作为gridViewItem;
var control=gridViewItem.FindDescentant();
这要求您使用UWP社区工具包,您可以在NuGet上获得该工具包