我正在尝试为按钮的边框设置动画,但无法让它工作。这是我设置的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。
答案 0 :(得分:1)
Silverlight仅支持事件触发器中的Loaded
事件。对于这类事情,您需要查看Visual State Manager。
Button已经支持名为“Pressed”的视觉状态。但是,为了更改按钮的可视行为,您需要先复制其默认模板并将其放在静态资源中。
您可以获取按钮here使用的默认样式的副本。让我们假设你给它一个x:Key
的“MyButtonStyle”。
您可以将ColorAnimation
添加到“已按下”Storyboard
的现有VisualState
。
然后你的按钮xaml应该是:
<Button Style="{StaticResource MyButtonStyle}" Content="Click Me" />