微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Silverlight / WPF按钮上调整MouseOver的风格

Str ling.ling…button button … … … … … … … ……………………….我是XAML的新人,我可以看到,它想要一些类型的故事板/动画…不知道如何做到这一点.

任何帮助将不胜感激.

解决方法

这与 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工具包中获取visualstatemanager以在WPF中具有类似的解决方案.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐