- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ObservableCollection 和一个 ListCollectionView 并带有一个 Filter 谓词集。当我更改全局条件时,比如说搜索文本,我可以在 View 上调用 .Refresh()
来强制刷新。但是当集合中的一个项目改变一个属性时,是否可以只刷新那个元素的可见性?假设通过声明过滤器依赖于一个属性?
最佳答案
简短的回答是肯定的。
ListCollectionView 有两个感兴趣的属性
IsLiveFiltering
是一个 bool 值,用于获取或设置一个指示是否启用实时过滤数据的值。
LiveFilteringProperties
是一个字符串列表,其中包含指定参与实时过滤数据的属性的属性名称。
设置这两个属性会得到你想要的结果。
这是一段代码,展示了如何在已部署的应用程序中设置过滤属性...
if (_itemWrappersListCollectionView != null && _feedInfosListCollectionView!=null)
{
_itemWrappersListCollectionView.IsLiveFiltering = true;
_itemWrappersListCollectionView.IsLiveSorting = true;
_itemWrappersListCollectionView.LiveFilteringProperties.Add("FilterStatus");
InitialiseExceptions();
InitialiseSorts();
InitialiseAgeFilter();
InitialiseFeedCruds();
_itemWrappersListCollectionView.Filter = ItemFilterDelegate;
}
在这个例子中,当所谓的 FilterStatus
属性在集合项上发生变化时,过滤谓词将立即在 ITEM 上调用,而无需耗时的“刷新”方法。
关于wpf - 如何使用过滤器集自动刷新 ListCollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23462766/
我有一个 ObservableCollection 和一个 ListCollectionView 并带有一个 Filter 谓词集。当我更改全局条件时,比如说搜索文本,我可以在 View 上调用 .R
这个问题在这里已经有了答案: Should I bind to ICollectionView or ObservableCollection (5 个答案) 关闭 8 年前。 我无意中发现了 Li
我一直在研究如何避免因 View 模型中对 INotifyCollectionChanged 事件的强引用而导致的内存泄漏。我正在尝试使用 ListCollectionView 看看它是否适合我。我认
ListCollectionView.AddNew如何确定它创建的对象的类型,以及如何影响它? 我有几种类型的层次结构( Base 、 DerivedA 和 DerivedB ),目前我的 WPF 工
我正在使用 MVVM 设计模式,ListView 绑定(bind)到 ViewModel 上的 ListCollectionView。我还有几个用于过滤 ListView 的组合框。当用户从组合框中选
我正在使用 ListCollectionView 作为选项卡控件的数据上下文。我已经基于枚举向其中添加了一个 GroupDescription,我希望一个特定的组显示为选项卡控件中的第一个选项卡,但现
我像这样扩展了 ListCollectionView 并覆盖了 GetItemAt: public class LazyLoadListCollectionView : ListCollectionV
当我运行以下测试时,我得到一个 ArgumentOutOfRangeException: [TestClass] public class ReproduceException { [Test
我有一个 ObservableCollection位于 WPF 中的 ViewModel DataGrid . DataGrid有三列: 职位栏;这是在运行时由 UserControl 呈现的,它显示
考虑以下代码(出于示例目的而通用类型名称): // Bound to ListBox.ItemsSource _items = new ObservableCollection(); // ...It
我最近在 CodeReview (CodeReview Question) 上发布了一个问题,并按照他们的建议从 ObservableCollection 转移到 ICollectionView 再到
由于 ListCollectionView 不支持索引器(例如 View[0]),我发现迭代过滤/排序列表的唯一方法是使用 foreach。 1) foreach 是否会确保在迭代期间保留 View
我遇到的问题是我的 listcollectionview 需要 3-4 秒才能更新。我想我已经正确配置了虚拟化;但是,如果不正确,请指出。我将 itemssource 绑定(bind)到 IColle
深入挖掘后,为什么 live shaping,详细按名称自动排序组,不起作用,我决定写一个小的测试应用程序,解决方案下载在这里: here 下面是问题的描述:我使用一个 ObservableColle
C#: public partial class MainWindow : Window { private readonly ViewModel vm; public MainWin
我有一个绑定(bind)到 ListCollectionView 的 ListView。 在同一个窗口中,我有一个 Button,它带有一个附加的 RoutedCommand,没有 CanExecut
所以我有一个非常简单的数据网格,其组样式如下:
这些似乎都不起作用: var source = myViewModel.MyListCollectionView.Select(x => x as MyType); var source = myVi
这里有一个双管齐下的问题,但我认为这两个主题交织在一起足以保证将它们放在一起。 在我们的应用程序中,我们有一个 ListBox ,其中填充了可能是大量项目的内容。这些项目中的每一个都使用相当复杂的项目
我想在具有 DataTable 作为 ItemsSource 的 ListView 上进行自定义排序: myListView.ItemsSource = (data as DataTable); 这是
我是一名优秀的程序员,十分优秀!