Мне нужно анимировать цвет текста пользовательского элемента управления между двумя цветами, которые считываются из двух Brush
свойств пользовательского элемента управления.Мои ресурсы выглядят так:
<SolidColorBrush x:Key="TextBrush">{TemplateBinding Foreground}</SolidColorBrush>
<SolidColorBrush x:Key="AltTextBrush">{TemplateBinding ForegroundAlt}</SolidColorBrush>
Сейчас я пытаюсь анимировать с помощью ColorAnimation:
<ColorAnimation Storyboard.TargetName="MyControlText" Storyboard.TargetProperty="Foreground" To="{StaticResource AltTextBrush}" Duration="00:00:00.3000000" />
Кажется, что ColorAnimation хочет объект Color
, а неBrush
Я пытаюсь пройти.Я думаю, что могу написать IValueConverter
, чтобы получить цвет от кисти, но прежде чем я это сделаю, я хочу посмотреть, есть ли более простой способ сделать работу.Вот мои вопросы:
- Есть ли простой способ анимировать между двумя ресурсами кисти, или мне нужно извлечь цвет для анимации?
- Если мне нужно извлечь цвета, рекомендуется ли использовать IValueConverter?
- И наконец, я иду по правильному пути или есть более простое решение этой проблемы?
Спасибо за вашу помощь.