В стиле, как я могу ссылаться на элемент, к которому применяется стиль? Например, в стиле я определяю RenderTransform
, и я хотел бы добавить анимацию в RenderTransform:
<Style x:Key="myStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform />
</Setter.Value>
</Setter>
<Setter Property="RenderTransformOrigin"
Value="0.5, 0.5" />
<Style.Triggers>
<EventTrigger RoutedEvent="MouseDown">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.2"
From="1"
To="1.2"
AutoReverse="True"
Storyboard.Target="{Binding RenderTransform}"
Storyboard.TargetProperty="(ScaleTransform.ScaleX)" />
<DoubleAnimation Duration="0:0:0.2"
From="1"
To="1.2"
AutoReverse="True"
Storyboard.Target="{Binding RenderTransform}"
Storyboard.TargetProperty="(ScaleTransform.ScaleY)" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
Конечно, приведенный выше код не работает, потому что {Binding RenderTransform}
использует DataContext в качестве источника. Я попытался указать RelativeSource
в режиме FindAncestor
, но он не может найти родителя FrameworkElement
(возможно, потому что раскадровка не является частью визуального дерева).
Есть ли способ привязки к свойству элемента, к которому применяется стиль?