c# - 无需显式重新创建的 WPF 刷新 CollectionView(Refresh() 方法调用)

标签 c# wpf collections

是否可以在不显式调用 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/

相关文章:

c# - Entity Framework 中的 "The data reader has more than one field"错误

c# - 如何获取用户是否通过 ASP.NET MVC View 中的自定义 Action Filter 进行身份验证?

c# - 有什么简单的方法可以将数据导出为多种格式吗?

java - 玩!框架: using find() model method on a collection

C# .NET - ItemCollection 在作为 IList<type> 传递时不编译

java - 更一般地查找列表的最大值

c# - WebSecurity.CreateUserAndAccount 属性值

c# - 如何向现有类型/控件添加属性

c# - 更新绑定(bind)进度条

wpf - 如何使用带有 MVVM 模型的 WPF 数据绑定(bind)来使用自定义控件填充 StackPanel