1

我的视图模型中有以下属性,并且视图绑定到该属性。

ActiveCategory除了(在 中_catManager)可以从其他事件(在此视图之外)更改的特殊情况外,一切正常。

我不想Category Manager在视图模型中公开整个,所以我只公开我需要的属性。这样做的最佳方法是什么,以便视图收到所有更改的通知,即使是那些未在此视图模型中触发的更改?

 
    public ICategory SelectedCategory
     {
      get
       {
        return _catManager.ActiveCategory;
       }
      set
       {
        _catManager.ActiveCategory = value;
        OnPropertyChanged("SelectedCategory");
       }
     }
4

2 回答 2

5

让您的视图模型挂钩到 _catManager 的 INotifyPropertyChanged 事件,并让它通过视图模型中继属性更改事件。当您看到“ActiveCategory”通过时,这意味着您需要为“SelectedCategory”提高 INPC。

于 2012-05-08T14:11:43.660 回答
1

您还需要将通知委托给任何类 _catManager 。

因此,对其 ActiveCategory 属性的更改会引发通知。

一种方法是在将其作为属性的类中添加一个处理程序,然后发出通知,它的 _catManager 已以某种方式更改。

于 2012-05-08T14:17:19.100 回答