问题尝试获取按钮边框以单击动画

时间:2011-05-25 11:00:23

标签: silverlight animation button 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 个答案:

答案 0 :(得分:1)

Silverlight仅支持事件触发器中的Loaded事件。对于这类事情,您需要查看Visual State Manager。

Button已经支持名为“Pressed”的视觉状态。但是,为了更改按钮的可视行为,您需要先复制其默认模板并将其放在静态资源中。

您可以获取按钮here使用的默认样式的副本。让我们假设你给它一个x:Key的“MyButtonStyle”。

您可以将ColorAnimation添加到“已按下”Storyboard的现有VisualState

然后你的按钮xaml应该是:

<Button Style="{StaticResource MyButtonStyle}" Content="Click Me" />