Я создаю пользовательский элемент управления в Silverlight и хочу, чтобы одно из полей анимировалось в значение DependencyProperty при изменении этого свойства. В частности, в моем шаблоне управления есть определенный элемент, который я хочу анимировать в цвет фона, когда фон меняет цвет. Итак, что у меня есть:
<ControlTemplate TargetType="local:MyType">
<Grid x:Name="PART_RootElement">
<Grid.Resources>
<Storyboard x:Name="PART_FillAnimation">
<ColorAnimationUsingKeyFrames
BeginTime="00:00:00"
Storyboard.TargetName="PART_MainPath"
Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
<EasingColorKeyFrame
x:Name="PATH_FillKeyframe"
KeyTime="00:00:01"
Value="{TemplateBinding Background}"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</Grid.Resources>
<!-- the rest of the template -->
Я запускаю анимацию в пользовательском управляющем коде, но когда анимация запускается, не похоже, что значение обновляется. Мне просто интересно, что я что-то упустил или можно ли вообще применить TemplateBinding к ресурсам в моем ControlTemplate.
(в настоящее время я использую способ ручного назначения фона для значения EasingColorKeyFrame, но решение TemplateBinding будет намного чище.)