2

私はWPFを使用して新しいMVVMプロジェクトを開始していますが、どちらもよく知らないため、適切なMVVMアプローチを使用していることを確認したいと考えていました。

私は次のものを持っています:

  • 独自のViewModelとTabControlを含むマスターユーザーコントロールがあります
  • 各タブには、独自のViewModelを備えた個別のユーザーコントロールが含まれています
  • MasterViewModelが作成されると、そのプロパティの1つが設定されます(MasterIdと呼びましょう)。
  • MasterIdプロパティの変更をマスタービューモデルから子ビューモデルに伝播する必要があります

この単純なシナリオを実装するための最も単純/最良/適切なMVVMアプローチは何ですか?

4

1 に答える 1

3

s などに関してTabControlは、子ビュー モデルをコレクション内に持つ傾向があります。MasterViewModel

 public ObservableCollection<ViewModelBase> Tabs { get; private set; }

IDが設定されるか、子ビューモデルが作成されると、それらにプロパティを設定できます

public int MasterId
{
    get { return _masterId; }
    set { _masterId = value;
          foreach(var vm in Tabs)
             vm.MasterId = value; 
          NotifyPropertyChanged("MasterId");  
        }
}
于 2012-04-24T19:45:06.383 に答える