Допустим, у меня есть контроль, как это:Анимирования свойства содержимого шаблона в Silverlight
<Button Style="{StaticResource MyButton}">
<Polygon Style="{StaticResource MyButtonIcon}"
Points="... some points ..." />
</Button>
MyButton является стилем для фона кнопки в то время как MyButtonIcon является стилем значок самого полигона. Я хотел бы тонко анимировать кнопку, когда пользователь наводит курсор мыши на кнопку. Я могу обойти фон (определенный в MyButton) обычным способом в шаблоне (VisualStateManager/VisualState/MouseOver/StoryBoard/ColorAnimation). Чтобы получить представление, моя декларация ColorAnimation выглядит примерно так:
<ColorAnimation Storyboard.TargetName="BackgroundTop"
Storyboard.TargetProperty="Color"
To="#FFFFFF"
Duration="0:0:0.200" />
Это хорошо работает для фона. Тем не менее, я хотел бы оживить цвета градиентных остановок полигона контента. Я не могу просто поместить анимацию в MyButtonIcon, потому что я хочу, чтобы многоугольник был анимированным, когда мышь нависает над любой кнопкой, а не только полигоном внутри кнопки. Я предполагаю, что это будет выглядеть примерно так:
<ColorAnimation Storyboard.TargetName="MyContentPresenter"
Storyboard.TargetProperty="Some.Really.Long.Path.Color"
To="#FFFFFF"
Duration="0:0:0.200" />
вопрос: что должно быть значение «Some.Really.Long.Path.Color»? То есть, скажем, например, если я хочу получить доступ к свойству цвета первой градиентной остановки «Заполнения» многоугольника внутри презентатора контента, как бы я это сделал? Или я пытаюсь сделать это совершенно неправильно?
Надеюсь, я был чист и предоставил достаточно подробностей, дайте мне знать, если вам нужно знать больше.