我在UWP中有 ListView 和 GroupStyle ,如示例here中所示。我有以下 HeaderTemplate :
<GroupStyle.HeaderTemplate>
<DataTemplate x:DataType="data:GroupInfoList">
<Grid Tapped="Header_Tapped">
<TextBlock Text="{x:Bind Key}" />
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
我可以通过
获取所选的键private void Header_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e)
{
var selItem = (sender as Grid).DataContext as GroupInfoList;
var selKey = selItem.Key;
}
现在我的问题是,尽管知道所选的密钥,但我无法从中访问 Items 。在Debug中,我可以看到 Count 属性,它等于组内部的元素数量,但我不知道,如何迭代它。
我非常希望遍历所有与 selKey 具有相同键的项目,并为所有这些项目设置一个名为 _isVisible 的布尔属性。什么是实现这一目标的好/快/有效方法?
答案 0 :(得分:1)
GroupInfoList
源自List<object>
。它包含具有相同Contact
的所有Key
。获得selItem
后,您可以使用以下代码来迭代遍历List
。
foreach (var item in selItem)
{
var contact = item as Contact;
//suppose you have add a _isVisible property in Contact
contact._isVisible = true;
}