是否可以在没有显式Refresh()方法调用的情况下“刷新”(更新)视图?问题是它重新创建了一个完整的集合,而在UI上,所选的行将被取消选中。我有一个复杂的列表视图(每行包含另一个子列表视图),当我调用Refresh()时,子行中的选择消失。清除SortDescriptions并手动再次添加它们对我来说不起作用(似乎Clear()和Add()排序描述的方法在内部调用Refresh())
那么,有没有机会在没有娱乐的情况下更新视图?
我的情况: 使用Dispatcher.Timer我手动更新每个项目的所有属性(以避免选择消失),然后更新一个项目的list-type属性(属性与另一个集合,它也正在'手动'更新)然后我需要以某种方式刷新视图,当我在子集合上调用Refresh()时,一切正常,但我也需要刷新顶级集合,以获取应用于顶级集合的排序描述,这可能已更改。 / p>