努力为按钮设置鼠标样式......我已经设法设置按钮样式(纯红色),但我希望它在鼠标悬停时更改为纯黑色。我是 XAML 的新手,我可以看到它需要某种类型的 Storyboard/动画......不确定如何做到这一点。
任何帮助将不胜感激。
最佳答案
这与 WPF 到 Silverlight 不同。在 WPF 中,Rob 的答案是正确的。
在 Silverlight 中,这不起作用。 Silverlight 使用 VisualStateManager 而不是触发器。这个的代码比较复杂,但也有人觉得这样更好。您最终不得不以您的风格创建一个控件模板。 (有关定义控件模板的信息,请参阅 This Article。创建类似 ControlTemplate 的最简单方法是使用 Expression Blend,它具有为您完整提取现有模板的功能。)
在控件模板中,定义您关心的 VisualState 以及您想要发生的事情。
<VisualStateGroup x:Name="CommonStateGroup">
<VisualState x:Name="MouseOverState">
<Storyboard>
<ColorAnimation Storyboard.TargetName="TopmostElementOfTheTemplate"
Storyboard.TargetProperty="Foreground"
To="Black"
Duration="00:00:00" >
</ColorAnimation>
</Storyboard>
</VisualState>
</VisualStateGroup>
...
在样式中指定默认前景色也很重要,就像 Rob 上面所做的那样。如果您在控件上指定它,它将覆盖样式中的值。
请注意,可以从 WPF Toolkit 中获取 VisualStateManager 以在 WPF 中具有类似的解决方案。
关于wpf - 在 Silverlight/WPF 按钮上设置 MouseOver 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401519/