我不能在 ObservableCollection 上使用方法 Filter

I can't use method Filter on ObservableCollection

在我的 viewModel 上,我开发了这段代码,可以让我实施研究过滤器:

        public ICollection<Nc> Ncs
        {
            get
            {
                var ncs = _ncManager.Ncs;

                _ncCollectionView = CollectionViewSource.GetDefaultView(ncs);
                _ncCollectionView.Filter = _DoesNcMatchFileNameFilter;

                return ncs;
            }
        }
        private ICollectionView _ncCollectionView;

此方法有效,但如果我尝试在另一个 viewModel:

中实现另一个类似的方法
    private ObservableCollection<Material> _materials;
    public ObservableCollection<Material> materials
    {
       get
       {
          var materials = Material.Name;
          _materialCollectionView = (CollectionViewSource)CollectionViewSource.GetDefaultView(materials);
          _materialCollectionView.Filter = _DoesMaterialMatchFileNameFilter;
    
          return Materials;
       }
    }
    private CollectionViewSource _materialCollectionView;

我得到一个错误:CollectionViewSrouce.Filter can only appear on the left hand side of += or -=".

为什么我不能做同样的事情?我做错了什么?

我已经尝试阅读此页面 ObservableCollection<> vs. List<> 但它对我没有帮助。

_materialCollectionView 不应该是 ICollectionView 类型吗?

所以:

private ObservableCollection<Material> _materials;
    public ObservableCollection<Material> materials
    {
       get
       {
          var materials = Material.Name;
          _materialCollectionView = CollectionViewSource.GetDefaultView(materials);
          _materialCollectionView.Filter = _DoesMaterialMatchFileNameFilter;
    
          return Materials;
       }
    }
    private ICollectionView _materialCollectionView;