1

オブジェクトで機能する動作を実装しようとしていますが、2 番目のオブジェクトの影響を受けます。

例として、別のフレームワーク要素の距離に基づいてフレームワーク要素の外観を変更します。

私は添付された動作が危険であることを十分に知っているので、クラスを次のように定義します。

 public class ChangeWithDistance : Behavior<FrameworkElement>

そして、動作のどこかで、他のコントロールの名前 (?) を指す依存関係プロパティが必要になります。

この動作が別のコントロールを指すようにするには、依存関係プロパティを作成する必要があるクラスは何ですか?

他のコントロールの名前を表す文字列として propdp を指定しますか?

または、コントロールに関連付けられたタグを示すために使用する必要がある別のクラスがありますか (x:Name ビジネス..)

それとも、propdp はこのようなフレームワーク要素を指す必要がありますか?

    public static readonly DependencyProperty OtherControl =     
          DependencyProperty.Register("OtherControl", typeof(FrameworkElement)

または、バインディングで何かをしますか?

別のコントロールで依存関係プロパティを持つ動作または実際に何かを指す方法のベスト プラクティスはありますか?

ブレンドを使用しているユーザーが他のコントロールを選択できるように表示する方法はありますか?

4

2 に答える 2

3

依存関係プロパティを次のように宣言できて幸運です:

 public static readonly DependencyProperty OtherObjectProperty =
        DependencyProperty.Register("OtherObject", typeof (FrameworkElement), typeof (MyBehavior), new UIPropertyMetadata());

そして、XAMLでそれを他のオブジェクトにバインドすると、次のように興味があります:

  <Rectangle ....>
       <Interactivity:Interaction.Behaviors>
             <Controls:MyBehavior OtherObject="{Binding ElementName=TheOtherElementNameIWantToReference}" />
       </Interactivity:Interaction.Behaviors>
  </Rectangle>                   
于 2012-09-30T05:45:29.360 に答える
0

That's a lot of questions in one. Read up on attached properties: http://msdn.microsoft.com/en-us/library/ms749011.aspx

The short answer is that you need to use the RegisterAttached method, rather than Register.

于 2012-09-29T07:40:17.807 に答える