У меня есть прямоугольник в WPF, определенный таким образом;Анимация цвета прямоугольника при изменении свойства заливки
<Rectangle x:Name="redBrush" Width="20" Height="20" Fill="{Binding RectColor}" Stroke="Black" RadiusX="2" RadiusY="2">
Я хотел бы анимировать изменение цвета от одного к другому.
Я пытался что-то вроде этого:
<Rectangle x:Name="redBrush" Width="20" Height="20" Fill="{Binding NewColor}" Stroke="Black" RadiusX="2" RadiusY="2">
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="redBrush"
Storyboard.TargetProperty="(Rectangle.Fill).Color" To="{Binding NewColor}" Duration="0:0:3" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
Но у меня есть две проблемы с этим подходом. Какой RoutedEvent я должен использовать? и свойство To = в ColorAnimation не работает.
Не могли бы вы мне помочь? Спасибо
Спасибо за ваш ответ. Идея кажется действительно хорошей. У вас есть идея, почему я получил ошибку на Storyboard.SetTargetProperty (ca, новый PropertyPath («(Rectangle.Fill) .Color»)); ? «Невозможно разрешить все ссылки свойств в пути свойств» (Rectangle.Fill) .Color '. Убедитесь, что применимые объекты поддерживают свойства. " – Lorenzo522
Ah ... вы обновляете еще раз фрагмент – Lorenzo522
mhmm ... Это не работает для меня «Не удается разрешить все ссылки на свойства в пути свойств» (Rectangle.Fill) .Color '. Убедитесь, что применимые объекты поддерживают свойства «. – Lorenzo522