我不能在 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;
在我的 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;