来自 GridView 的 GridViewItem

GridViewItem from GridView

在 UWP(或 WinRt)中,如何从 GridView 获取 GridViewItem 后面的代码? 我试过了

this.AppsGridView.ContainerFromItem(this.AppsGridView.Items[0]);

它returns 为空。我还能尝试什么?另外,有没有一种简单的方法来枚举 GridView 中的所有 GridViewItem 对象?

我对此进行了测试,它应该可以工作。

代码:

MainPage.xaml

<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<GridView x:Name="GridView">
    <GridView.ItemTemplate>
        <DataTemplate>
            <Button Content="{Binding}" Background="Blue"/>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

<Button Background="Red" Content="GetItems" Click="OnGetItemsClick"/>

MainPage.xaml.cs

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    GridView.ItemsSource = new List<int>() {1, 2, 3, 4, 5, 6, 7};
    base.OnNavigatedTo(e);
}

private void OnGetItemsClick(object sender, RoutedEventArgs e)
{
    var item = GridView.Items[0];
    var itemContainer = GridView.ContainerFromItem(item);
}

当您手动定义项目时,此代码运行良好:)