Xaml内の要素への参照を別の要素から取得したいユースケースがあります。Xaml Binding(AttachedまたはDependencyProperty)を介して別の要素のインスタンスを取得
たとえば、この単純なケースを考えてみましょう。私はAと呼ばれるUserControlとBと呼ばれるUserControlを持っています と何とか私はBがAへの参照を得ることができる付属プロパティを登録したいと思います。
<MyCustomControl Name="A"/>
<MyCustomControl Name="B"
AttachedPropClass.TheOtherControl="{Binding ElementName=A}"/>
だから私はB.TheOtherControlがAに等しくなるように期待するXAMLでこの可能ですか?注:私はではなく、Aのプロパティにバインドするですが、むしろ要素全体が必要です。
Xamlでこれを可能にするDependencyProperties、AttachedProperties、またはBehaviorsを使用するソリューションはすばらしいでしょう。
編集:私はこれをWPFとSilverlight4の両方で実行しようとしています。私は上記を試して、それは動作しません、Attachedプロパティのコールバックを変更したことは決してヒットしません。
まあ、試しましたか?あなたが書いたコードはきれいに見える... –
はい、私はこれを試したと言っているべきであり、それは動作しません。私はMyCustomControlでDependencyPropertyを試し、ElementName経由でB.TheOtherをAにバインドしました。どちらもうまくいかなかった。私は依存関係プロパティのPropertyChangedコールバックを持っており、決してヒットしません。だから、少なくとも私は何かばかげてやっていないし、上記は構文的に正しいですか?おそらく何か間違ったことがあるでしょう。 –
は 'BindsDirectlyToSource'を試しましたか? –