Цвет фона анимации границы в Silverlight, приоритет состояния в VisualStateGroups - PullRequest
1 голос
/ 08 сентября 2010

Это вопрос Silverlight / XAML.

Не уверен, что я делаю не так, похоже, выдает ошибку:

<ColorAnimation 
Storyboard.TargetName="btnRemoveBorder" 
Storyboard.TargetProperty="Background" 
To="#FFDEBA29" 
Duration="0" />

2-й вопрос ... довольно запутанныйс выбранными и сфокусированными состояниями.Может ли одно государство иметь приоритет перед другим?

1 Ответ

5 голосов
/ 08 сентября 2010

Фон - это не цвет, а кисть, поэтому его нельзя анимировать напрямую с помощью ColorAnimation.Вместо этого попробуйте следующее.

<ColorAnimation 
    Storyboard.TargetName="btnRemoveBorder" 
    Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" 
    To="#FFDEBA29" 
    Duration="0" />

Что касается вопроса VisualStateManager, одно состояние из каждой группы состояний может быть активным.Так, например, в случае кнопки она может находиться в состоянии «Сосредоточено» и «Нажата».По этой причине вам следует попытаться спроектировать свои состояния и шаблоны управления таким образом, чтобы не зависеть от того, какое состояние станет активным в первую очередь.Обычно это означает, что вы не должны анимировать один и тот же элемент / свойство в двух разных группах состояний.Но с технической точки зрения, ничто не мешает вам сделать это.Независимо от того, в каком состоянии находится элемент управления до последнего (с использованием метода VisualStateManager.GoToState), он будет иметь приоритет.

...