GridView的GridViewItem

时间:2015-10-09 09:07:37

标签: win-universal-app

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

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

并返回null。我还能尝试什么?另外,有一种简单的方法可以枚举GridView中的所有GridViewItem对象吗?

1 个答案:

答案 0 :(得分:1)

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

代码:

<强> 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);
}

当您手动定义项目时,此代码很有效:)