我对我的少量 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>
它可以是样式、模板或其他避免行为或动作标记重复的方式。到目前为止,我提出的最佳解决方案是为容器创建一个特殊行为(当附加时,它会枚举附加到子事件的子事件)。有任何想法吗?