Назначить элемент в качестве цели анимации в шаблоне управления
Я пытаюсь установить триггер события для одного из моих элементов управления внутриContentTemplateЯ использую раскадровку и DoubleAnimation, вложенную с DoubleAnimationUsingKeyFrames, когда я устанавливаю раскадровку TargetName в «ContentPopup», которая является сеткой, которую я держу ниже, но я получаю ошибку, сообщающую мне, что:
Имя ContentPopup отсутствует в пространстве имен System.Windows.Controls.Grid.
Код анимации на шаблоне управления:
<Grid Margin="0" Width="55" Height="40">
<Grid.Triggers>
<EventTrigger RoutedEvent="m:Pushpin.MouseDown">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="00:00:00.5000000" Storyboard.TargetName="ContentPopup" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" To="1">
...
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Grid.Triggers>
...
</Grid>
Код на сетке мне нужно анимировать:
<Grid Name="ContentPopup"
Background="White"
Opacity="0.85"
RenderTransformOrigin="0,0">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Grid.RenderTransform>
...
</Grid>
MSDN говорит, что необходимо сделать следующее, чтобы сделать объект нацеливаемым
и сетка - это FrameworkElement. Я хочу, чтобы анимация запускалась на каждом из элементов управления, которые я вызываю в главном окне, используя этот шаблон элемента управления, их много, поэтому мне нужно использовать шаблон. Вопрос в том:
Есть ли способ назначить элемент в качестве цели в шаблоне?