来自 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);
}
当您手动定义项目时,此代码运行良好:)
在 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);
}
当您手动定义项目时,此代码运行良好:)