Цвет фона анимации границы в Silverlight, приоритет состояния в VisualStateGroups
Это вопрос Silverlight/XAML.
Не уверен, что я делаю неправильно, это, кажется, выдает ошибку:
<ColorAnimation
Storyboard.TargetName="btnRemoveBorder"
Storyboard.TargetProperty="Background"
To="#FFDEBA29"
Duration="0" />
2-й вопрос... довольно запутанный с выбранными и сфокусированными состояниями. Может ли одно государство иметь приоритет над другим?
1 ответ
Фон - это не цвет, а кисть, поэтому его нельзя анимировать напрямую с помощью ColorAnimation. Вместо этого попробуйте следующее.
<ColorAnimation
Storyboard.TargetName="btnRemoveBorder"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="#FFDEBA29"
Duration="0" />
Что касается вопроса VisualStateManager, одно состояние из каждой группы состояний может быть активным. Так, например, в случае кнопки она может находиться как в состоянии "сфокусировано", так и в состоянии "нажата". По этой причине вы должны попытаться спроектировать свои состояния и шаблоны управления таким образом, чтобы не зависеть от того, какое состояние станет активным в первую очередь. Обычно это означает, что вы не должны анимировать один и тот же элемент / свойство в двух разных группах состояний. Но с технической точки зрения, ничто не мешает вам сделать это. Независимо от того, в каком состоянии находится элемент управления до последнего (с использованием метода VisualStateManager.GoToState), он будет иметь приоритет.