有什么方法可以自动更新过滤器,ICollectionView
而无需Refresh()
在进行相关更改时调用?
我有以下内容:
[Notify]
public ICollectionView Workers { get; set; }
此属性中的 [Notify] 属性只是实现INotifyPropertyChanged
,但在这种情况下它似乎没有做任何事情。
Workers = new CollectionViewSource { Source = DataManager.Data.Workers }.View;
Workers.Filter = w =>
{
Worker worker = w as Worker;
if (w == null)
return false;
return worker.Employer == this;
};
在 XAML 中:
<TextBlock x:Name="WorkersTextBlock"
DataContext="{Binding PlayerGuild}"
FontFamily="Pericles"
Text="{Binding Workers.Count,
StringFormat=Workers : {0},
FallbackValue=Workers : 99}" />
更新:看起来使用ICollectionView
对我来说是必要的,所以我想重新讨论这个话题。我正在为这个问题添加一个赏金,其接收者将是任何可以提供一些关于如何实现ICollectionView
不需要手动刷新的“放手”的见解的人。在这一点上,我对任何想法都持开放态度。