C# UWP如何在GridView中单击自定义项

C# 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=

我有一个带有自定义控件项的网格视图,如下所示。这些项是类型为StaticResource:UserControlCatalogHiteMatic的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\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上获得该工具包