0

次のように、OuterDialog ユーザー コントロールから InnerDialog にプロパティを渡したいと考えています。

<uc:OuterDialog x:Name="test" Grid.ColumnSpan="2" Grid.RowSpan="2" Height="768" Width="1366" IsOpen="False">
    <uc:StandardDialog Height="768" Width="1366" Grid.ColumnSpan="2">
        <uc:InnerDialog AncestorDelegate="AnotherDialog.Close">

        </uc:InnerDialog >
    </uc:StandardDialog>
</uc:OuterDialog >

コードビハインドに頼らずにこれを行うことはできますか?

「最も近い」祖先オブジェクトへの参照を取得して渡すにはどうすればよいですか?

4

1 に答える 1

1

これにアプローチする最善の方法は、実際には、両方のコントロールが同期するプロパティを持つビュー モデルを指す共有 DataContext を持つことです。それ以外に、{Binding Close, ElementName="AnotherDialog"}AnotherDialog という要素の Close プロパティにバインドするために使用できます。これらは両方とも同じ名前スコープにあると仮定します。

于 2013-07-11T16:06:07.407 に答える