我很满意我的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>
可能是样式、模板或其他方式来避免行为或动作标记的重复。到目前为止,我想到的最好的解决方案是为容器创建一个特殊的行为(当附加时,它枚举子项并附加到子项事件)。 有什么想法吗?