我只看到一个与this相关的未回答的问题,所以我想我会再试一次。
我有ListView
来自string
数组。我需要重新填充ListView
的原因是因为我根据当前时间在某些项目上设置了前景色,而我发现设置前景色的唯一方法是将项目添加到ListView
。 (如果有方法可以改变现有项目的颜色,那将是很好的,但我找不到办法。)ListView
在Windows应用商店中有所不同令人沮丧而不是Windows桌面WPF应用程序。
无论如何,当选择项目时,一旦重新填充列表,选择(复选标记)就会消失。我已经找到了一种方法,可以在刷新之前找到当前选择的项目,我认为使用var selecteditems = myListView.SelectedItems;
但是在刷新后尝试使用它来重新检查项目似乎是徒劳的。我非常感谢任何帮助,因为我已经绞尽脑汁待了好几个星期。它似乎应该如此简单,所以我真的很沮丧。
我想的另一种方法是对每个项目执行foreach
并检查.IsSelected
是否为真,但我似乎无法将每个单独的项目关联起来。
在我看来,我在思考像:
foreach (ListViewItem Item in ListView.Items)
{
if (Item.isselected)
\\ do something so to remember which items are selected
}
然后在填充新ListView
后的某个时刻,执行另一个foreach
,如果它与之前选择的项目匹配,请再次选择它。但是,在Windows 8.1 Store Apps VS2013中,仅以编程方式选择项目似乎很困难。甚至看起来ArrayList
现在已不再可用。为什么MS必须不断改变事物?