什么是更好的性能明智:可见性转换器 VS 改变整个来源

What is better performance wise: Visibility converter VS changing the entire source

在 WPF 应用程序中,如果我有一个显示在 grid/list 视图中的可观察集合。并且用户可以请求通过一组预定义的规则来过滤可见的内容。什么是更好的性能明智:

  1. 为每个项目添加绑定到其可见性的转换器
  2. 或者将整个源更改为过滤后的集合。

我不希望转换器执行任何逻辑 - 在我已经在视图模型中完成过滤器之后,这可能是一个简单的检查。 我没有任何代码,因为我想了解什么更好,然后实现它。

我认为最好的方法是使用 CollectionViewSource。

var view = new CollectionViewSource();
view.Filter += Filter;
view.Source = source;

void Filter(object sender, FilterEventArgs e)
{
    if (e.Item != null)
        e.Accepted = false; //condition here        
}

集合视图来源:https://msdn.microsoft.com/fr-fr/library/system.windows.data.collectionviewsource(v=vs.110).aspx

你可以在那里找到一个例子: