Я создаю пользовательский элемент управления с двумя цветами текста, ColorA и ColorB. ColorA связан со свойством Foreground
элемента управления, а ColorB связан со свойством зависимостей, которое называется ForegroundAlt
. Оба свойства являются Brush
объектами. XAML элемента управления получает значения свойств с использованием этой разметки:
<SolidColorBrush x:Key="BrushA" Color="{Binding Path=Foreground, RelativeSource={RelativeSource TemplatedParent}}" />
<SolidColorBrush x:Key="BrushB" Color="{Binding Path=ForegroundAlt, RelativeSource={RelativeSource TemplatedParent}}" />
Мне нужно анимировать смешанный текст между двумя цветами в шаблоне элемента управления, и здесь я сталкиваюсь с проблемами.
Обычно я просто создаю привязку данных к каждому свойству Brush.Color, например:
To="{Binding Source={StaticResource BrushB}, Path=Color}"
Но это не сработает. Оказывается, нельзя использовать привязки для анимации внутри шаблона элемента управления .
В качестве обходного пути я хотел бы создать пару Color
ресурсов для использования с ресурсами Brush:
<Color x:Key="ColorA" ??? />
<Color x:Key="ColorB" ??? />
Каждый ресурс Color
должен иметь цвет соответствующей кисти. Затем я мог бы ссылаться на цвета как на статические ресурсы и избежать привязки данных в анимации.
Итак, вот мои вопросы:
- Как бы я объявил Color
ресурсы?
- Есть ли более простой способ выполнить работу?
Спасибо за вашу помощь.