在UWP(或WinRt)中如何从GridView获取GridViewItem背后的代码? 我试过了
this.AppsGridView.ContainerFromItem(this.AppsGridView.Items[0]);
并返回null。我还能尝试什么?另外,有一种简单的方法可以枚举GridView中的所有GridViewItem对象吗?
答案 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);
}
当您手动定义项目时,此代码很有效:)