0

我在 UWP 中有一个带有GroupStyle的ListView ,就像这里的示例一样。我有以下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;
}

现在我的问题是,尽管知道所选的Key,但我无法从中访问Items。在调试中,我可以看到计数属性,它等于组内的元素数量,但我不知道如何迭代它。

我非常想遍历所有与 selKey 具有相同键的项目,为所有这些项目设置一个名为_isVisible的布尔属性。什么是实现这一目标的好/快速/有效的方法?

4

1 回答 1

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;
}
于 2015-12-07T07:29:50.763 回答