Blendの動作、アクション、トリガーの小さなコレクションに非常に満足しています。これらは使いやすく、強力です。しかし、要素ごとにそれらを適用することを避ける方法をまだ理解できません。たとえば、私がそのような行動をしている場合:
<Rectangle>
<i:Interaction.Behaviors>
<il:MouseDragElementBehavior/>
</i:Interaction.Behaviors>
</Rectangle>
ウィンドウにドラッグ可能な長方形がいくつかあります。ドラッグ可能にするには、それぞれに上記のマークアップが必要です。私がやりたいのは、次のようなものを書けるようにすることです。
<Style x:Key="RectangleStyle" TargetType="{x:Type Rectangle}">
<Setter Property="i:Interaction.Behaviors"
Value="il:MouseDragElementBehavior"/>
</Style>
これは、スタイル、テンプレート、または動作やアクションのマークアップの繰り返しを回避するための他の方法である可能性があります。私がこれまでに思いついた最善の解決策は、コンテナの特別な動作を作成することです(アタッチされると、子イベントにアタッチする子を列挙します)。何か案は?