c# - 从列表中删除不调用 setter ?

标签 c# mvvm

在我的 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:

http://msdn.microsoft.com/en-us/library/ms668604.aspx

关于c# - 从列表中删除不调用 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16714690/

相关文章:

c# - 绑定(bind)到 viewmodel 不工作 mvvm

c# - 使用 Caliburn 的 TextboxHelper.ButtonCommand 绑定(bind)

c# - 如何以编程方式将 ASCX 内的 ASP.NET 控件添加到外部 RequiredFieldValidator?

c# - Newtonsoft Json反序列化为具有 bool 属性的动态列表变成字符串

wpf - MVVM Light : how to send a parameter to ViewModel (when opening new window)?

c# - 为什么我的模板的文本框无法绑定(bind)

c# - 池中的连接耗尽

c# - AutoMapper - 创建将 Cu​​stomer 和 Person 组合到 CustomerModel 中的映射

c# - Polly 库的包装器,以便实现可以保留在一个地方

MVVM:模型的状态是属于模型还是 View 模型?