从Model类通知属性更改的ViewModel

时间:2013-07-10 14:26:39

标签: wpf xaml treeview wpf-controls

在我的WPF应用程序中,我将TreeView IsSelected属性绑定到Model类中的属性。因此,所选项目在Model类中设置。每当设置/更改所选项时,我都需要通知我的ViewModel。我怎么能这样做?

提前致谢。

1 个答案:

答案 0 :(得分:4)

我猜您的Model实例是ViewModel的一部分......首先,是的,它应该实现INotifyPropertyChanged。如果您还希望通知ViewModel,那么ViewModel应该订阅该事件。

public class Model : INotifyPropertyChanged
{
   private string _name;
   public string Name {
      get {return _name;}
      set {
         _name = value;
         NotifyPropertyChanged("Name");
   }
// etc... including INPC implementation
}

public class ViewModel : INotifyPropertyChanged {
   public ViewModel (Model model){
      this.MyModel = model;
      this.MyModel.PropertyChanged += (s,e) => { DoSomething();};
   }

   public Model MyModel { get; set; }
}