是否可以在不显式调用 Refresh() 方法的情况下“刷新”(更新) View ?问题是它重新创建了整个集合,并且在 UI 上,选定的行变为未选定。我有一个复杂的 ListView (每行包含另一个子 ListView ),当我调用 Refresh() 时,子行中的选择消失了。清除 SortDescriptions 并再次手动添加它们对我不起作用(似乎 Clear() 和 Add() 排序描述的方法都在内部调用 Refresh())
那么,是否有机会在不重新创建 View 的情况下更新 View ?
我的情况: 使用 Dispatcher.Timer 我正在手动更新每个项目的所有属性(以避免选择消失),然后更新一个项目的列表类型属性(另一个集合的属性,它也在“手动”更新)然后我需要以某种方式刷新 View ,当我在子集合上调用 Refresh() 时,一切正常,但我也需要刷新顶级集合,以获得应用于顶级集合的排序描述,这可能已更改。
最佳答案
在这篇很棒的博文中找到了解决方案:DrWPF
关于c# - 无需显式重新创建的 WPF 刷新 CollectionView(Refresh() 方法调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5582743/