gpt4 book ai didi

wpf - 更改源时未刷新 CollectionViewSource 过滤器

转载 作者:行者123 更新时间:2023-12-04 00:53:51 25 4
gpt4 key购买 nike

我有一个绑定(bind)到 CollectionViewSource 的 WPF ListView。它的来源绑定(bind)到一个属性,如果用户选择一个选项,它可以改变。

当 ListView 源由于属性更改事件而更新时,所有内容都会正确更新,但不会刷新 View 以考虑 CollectionViewSource 过滤器中的任何更改。

如果我将处理程序附加到 Source 属性绑定(bind)到的 Changed 事件,我可以刷新 View ,但这仍然是旧 View ,因为绑定(bind)尚未更新列表。

当源更改时,是否有一种不错的方法可以使 View 刷新并重新评估过滤器?

干杯

最佳答案

聚会可能有点晚了,但以防万一
您也可以使用CollectionViewSource.LiveSortingProperties
我是通过this找到的博客文章。

public class Message : INotifyPropertyChanged
{
public string Text { get; set; }
public bool Read { get; set; }

/* for simplicity left out implementation of INotifyPropertyChanged */
}
public ObservableCollection<Message> Messages {get; set}
ListCollectionView listColectionView = (ListCollectionView)CollectionViewSource.GetDefaultView(Messages);
listColectionView.IsLiveSorting = true;
listColectionView.LiveSortingProperties.Add(nameof(Message.Read));
listColectionView.SortDescriptions.Add(new SortDescription(nameof(Message.Read), ListSortDirection.Ascending));

关于wpf - 更改源时未刷新 CollectionViewSource 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/661630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com