2012-05-08 6 views
1

ビューモデルに次のプロパティがあり、ビューがこのプロパティにバインドされています。C#/ WPFのネストされたプロパティからの通知を取得するには?

ActiveCategory_catManager内)が(このビューの外部の)他のイベントから変更できる特殊な場合を除き、すべて正常です。

Category Manager全体をビューモデルに公開したくないため、必要なプロパティのみを公開しています。このビューモデル内でトリガされていない変更を含め、すべての変更がビューに通知されるようにするには、これを行う最善の方法は何ですか?


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

答えて

5

_catManagerのINotifyPropertyChangedのイベントにあなたのviewmodelフックを持っており、それはのviewmodelを通じてプロパティ変更イベントを中継しています。 「ActiveCategory」が表示されたら、「SelectedCategory」のINPCを上げる必要があります。

1

通知は_catManagerクラスのどのクラスにも委譲する必要があります。

したがって、ActiveCategoryプロパティを変更すると通知が発生します。

1つの方法は、プロパティとして持っているクラスにハンドラを追加して、_catManagerが何とか変更されたという通知を送出することです。

関連する問題