Windows 8 Store App:如何查找ListView的可见ListViewItems

时间:2014-02-28 03:00:14

标签: c# xaml listview windows-8

我想在Windows 8商店应用中找到listView的可见ListViewItems。有没有一种简单的方法可以不经过迭代来检查它们的可见性?

我的意思是我有一个ListView绑定到1000个项目的列表。用户在UI中滑动ListView,并停止在某个项目上滚动。我想知道Item和它的UI容器来计算它的大小。

1 个答案:

答案 0 :(得分:0)

'可见'是什么意思? Hide没有ListViewItem属性。你的意思是你试图将数据绑定与另一个列表或类似的东西进行比较吗?

无论如何,如果您愿意,可以通过强制转换和使用linq来避免迭代。您可以通过这种方式使用ListViewItem的任何有效属性。

对于(简单)示例:如何通过文本值选择ListViewItems的特定项目并获取与其关联的文本。

string[] items = listView1.Items.Cast<ListViewItem>().Where(s => s.Text == "Apple" || s.Text == "Banana").
                                                      Select(s => s.Text).ToArray();
foreach (string item in items)
{
    Console.WriteLine(item);
}

...输出

Apple
Banana

只需更改Where子句以符合您的设置,并Select更改为您要选择的属性。