ウィンドウに Graph というユーザー コントロールがあるとします。このユーザー コントロールにはグリッドが含まれており、その中にツールバーという別のユーザー コントロールがあります。現在、Graph は ModeProperty という依存関係プロパティをバッキング ストアとして使用する Mode というパブリック プロパティを公開しています。Toolbar ユーザー コントロールの要素を、その祖先グラフの Mode プロパティにバインドする必要があります。これどうやってするの?Graph への参照を取得するだけでも、思ったよりも難しいことがわかっています。this.parent は、Graph ではなくグリッドへの参照を取得します。
4897 次
1 に答える
7
このようにのみxamlでバインドできます-
<Toolbar Mode="{Binding Path=Mode, RelativeSource={RelativeSource
Mode=FindAncestor, AncestorType = UserControl, AncestorLevel =2}}"/>
また、次のようにバインディングで ElementName を使用することもできます -
<Toolbar Mode="{Binding Path=Mode, ElementName=GraphUserControl}"/>
バインド先の userControl に x:Name プロパティを設定する必要があります -
<UserControl x:Name="GraphUserControl"></UserControl>
または、コード ビハインドでやらない場合は、祖先の親に移動するためのこの便利な投稿を見ることができます - Visual Tree Navigator
于 2012-07-19T14:24:20.717 に答える