在我的 C# 应用程序(MVVM 模式)中,我有这样的东西:
private List<MyClass> _classes= new List<MyClass>();
public List<MyClass> Classes
{
get { return _classes; }
set
{
_servers = value;
NotifyOfPropertyChange(() => Classes);
NotifyOfPropertyChange(() => Classes2);
}
}
public List<MyClass> Classes2
{
get
{
return Classes.Where(class=> class.boolValue).ToList();
}
}
当我使用 Classes.Add(class)
或 Classes.Remove(class)
setter 时,不会调用。为什么?
最佳答案
因为您没有更改 Classes
属性——您正在更改 Classes
引用的对象的内部状态。如果您需要收到列表更改的通知,您可能需要查看 ObservableCollection
:
关于c# - 从列表中删除不调用 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16714690/