Я очень доволен своей небольшой коллекцией поведений, действий и триггеров 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>
Это может быть стиль, шаблон или какой-то другой способ избежать повторения разметки поведения или действия. Лучшее решение, которое я придумал, - это создание специального поведения для контейнера (когда он присоединен, он перечисляет дочерние объекты, присоединяющиеся к дочерним событиям).
Есть идеи?