現在、WPFとMVVMを使用しようとしていますが、最近、解決方法がわからない問題が発生しました。私はこれに慣れていないので、何かが本来あるべきものではない場合は、教えてください。
ParentViewModelを持つParentViewがあります。ParentViewは、独自のViewModelを持つ2つのビューSubViewAとSubViewBを保持します。これは私のParentView.xamlです:
<local:ViewBase.DataContext>
<local:ParentViewModel x:Name="Model" />
</local:ViewBase.DataContext>
<Grid>
<local:SubViewA Visibility="{Binding ElementName=Model, Path=SubViewAVisibility}" />
<local:SubViewB Visibility="{Binding ElementName=Model, Path=SubViewBVisibility}" />
</Grid>
私がやりたいこと:SubViewModelBには、SubViewBにバインドされているプロパティがあります。ParentViewModelで特定のイベントが発生したときに、そのプロパティを変更したいと思います。これは、SubViewModelBのプロパティをParentViewModelのプロパティにバインドすることで実行する必要があると思いますが、どうすればよいかわかりません。ParentView.xamlで次のようなものを試しました。
<local:SubViewB Visibility="{Binding ElementName=Model, Path=SubViewBVisibility}" SomeProperty="{Binding ElementName=Model, Path=WhatIWantThePropertyToBe}" />
しかし、それは私をどこにも連れて行かなかった。では、どうすればこれを解決できますか?MVVMライトツールキットのメッセージングを介してそれを行うことができることは知っていますが、それは私がやろうとしていることにはちょっと不適切なようです。助言がありますか?
ありがとう