#silverlight #animation #button #silverlight-4.0
#silverlight #Анимация #кнопка #silverlight-4.0
Вопрос:
Я пытаюсь анимировать границу кнопки, но у меня проблемы с ее запуском. Вот настройка XAML, которую я настраиваю:
<Button x:Name="Btn">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard Duration="100" AutoReverse="True"
Storyboard.TargetName="Btn"
Storyboard.TargetProperty="BorderBrush">
<ColorAnimation To="Yellow" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
Я получаю эту ошибку:
Failed to assign to property 'System.Windows.EventTrigger.RoutedEvent'. [Line: 17 Position: 30]
Есть идеи, почему? Полный новичок в этом. Я использую Silverlight 4.
Ответ №1:
Silverlight поддерживает Loaded
событие только в триггере события. Для такого рода вещей вам нужно заглянуть в Visual State Manager.
Кнопка уже поддерживает визуальное состояние, называемое «Нажата». Однако, чтобы изменить визуальное поведение кнопок, вам нужно сначала скопировать шаблон по умолчанию и поместить его в статический ресурс.
Вы можете получить копию стиля по умолчанию, используемого для кнопки здесь. Предположим, вы задаете этому x:Key
значение «MyButtonStyle».
Вы бы добавили свою ColorAnimation
к существующей Storyboard
для «Нажатой» VisualState
.
Тогда ваш button xaml должен быть:
<Button Style="{StaticResource MyButtonStyle}" Content="Click Me" />