ネストされたビューモデルでMVVMパターンを使用してアプリケーションを作成しようとしています。マスタービューモデルはShellViewであり、それぞれが独自のビューモデルを持つ3つのUserControlを含みます。ShellView ViewModelは、次のようにコードビハインドで作成されます。
public ShellView()
{
InitializeComponent();
_shellViewModel = new ShellViewModel();
DataContext = _shellViewModel;
}
これで、ShellViewModelに他のViewModelがプロパティとして含まれます。
public CustomerViewModel CustomerViewModel { get; set; }
public ContactsViewModel ContactsViewModel { get; set; }
UserControlsのXAMLからこれらのプロパティにアクセスするにはどうすればよいですか?私は次のようなことができるようになりたいです:
DataContext="<<ParentWindowViewModel>.CustomerViewModel>
どうすればこれを達成できますか?私はすでに試しました:
DataContext="{Binding DataContext.CustomerViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=Window, AncestorLevel=1}, Path=DataContext.CustomerViewModel}">
しかし、デバッガーは「タイプ'object'のデータコンテキストでプロパティ'CustomerViewModel'を解決できません。助けていただければ幸いです。