次のような状況がある場合:
<Parent DataContext="...">
<Child DataContext="..." />
</Parent>
子は親の DataContext のプロパティにどのようにアクセスできますか?
それはすべて、プロパティにアクセスする方法と、対象となる場所によって異なります。次を使用して、XAML から直接アクセスできますRelativeSource
。
<Parent DataContext="{...}">
<Child DataContext="{...}"
TargetProperty="{Binding
RelativeSource={RelativeSource AncestorType=Parent},
Path=DataContext.Property}"
/>
</Parent>
TargetProperty
これは、 に依存関係プロパティがあるか、作成できることを前提としていますChild
。
または、子のビュー モデルから親のビュー モデルのプロパティにアクセスする場合は、参照、カプセル化された参照、または弱参照を子のビュー モデルに渡すことを検討してください。