Проблема, пытающаяся получить границу кнопки для анимации при нажатии - PullRequest
2 голосов
/ 25 мая 2011

Я пытаюсь оживить границу кнопки, но не могу заставить ее работать.Вот 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 Ответ

1 голос
/ 25 мая 2011

Silverlight поддерживает только событие Loaded в триггере событий. Для такого рода вещей вы должны искать в Visual State Manager.

Кнопка уже поддерживает визуальное состояние, называемое «нажата». Однако для изменения визуального поведения кнопок сначала необходимо скопировать шаблон по умолчанию и поместить его в статический ресурс.

Вы можете получить копию стиля по умолчанию, используемого для кнопки здесь . Предположим, вы даете этому x:Key из «MyButtonStyle».

Вы добавили бы свой ColorAnimation к существующему Storyboard для "Прессованных" VisualState.

Тогда ваша кнопка xaml должна быть:

<Button Style="{StaticResource MyButtonStyle}" Content="Click Me" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...