我在我的应用程序中有ListView,它有风格。
<ListView x:Name="FoldersListView"
RightTapped="OnFoldersListViewRightTapped"
Style="{StaticResource FoldersListViewStyle}"
ItemsSource="{Binding Source={StaticResource Locator}, Path=MainViewModel.Folders}"
SelectedItem="{Binding Source={StaticResource Locator}, Path=MainViewModel.SelectedFolder, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
在xaml live树中,我在ListView中加载了网格(ItemTemplate的DataTemplates)
如何在代码隐藏中从ListView获取每个Grid?
foreach (var item in this.FoldersListView.Items)
{
var recievedItem = this.FoldersListView.ContainerFromItem(item) as ListViewItem;
}
1条答案
按热度按时间rhfm7lfc1#
如何在代码隐藏中从ListView获取每个Grid?
您将需要使用VisualTreeHelper Class来实现这一点。
1.通过调用ListView的
ContainerFromItem
或ContainerFromIndex
获取每个ListViewItem1.创建一个递归函数来查找每个ListViewItem中网格化DependencyObject。
在不了解你的真实的场景的情况下,我只是做了一个简单的演示来展示它是如何工作的。你可以参考下面的代码,并根据你的场景稍微修改一下。
主页面.Xaml
主页.Cs