在WPF中通过鼠标悬停将按钮的样式更改为不同的样式

时间:2011-03-18 06:22:15

标签: c# .net-4.0 wpf-controls

我刚刚开始使用WPF,我正在尝试为我的志愿者小组设计一个记录小时数的应用程序。无论如何,我试图使我的按钮看起来像Windows 7按钮的计算器,因为该应用程序也是在WPF中设计的,它也会给整个组留下深刻的印象。

我让他们看起来像计算器中的按钮(我的样式看起来像功能和数字按钮)但我不能让它们以相同的方式运行(正常的图片,MouseOver并且点击附在末尾)。我的.xaml按以下方式构建,我在app.xaml中定义了baseStyleButtonbaseStyleButtonMouseOver(我也需要帮助定义此样式)然后我想设计styleButtonUniversal当发生MouseOver事件时,它“封装”两个基本样式并在它们之间切换。同样,我希望能够将此样式扩展为具有click事件样式。

我如何在WPF中实现这一点,或者是否有其他方法可以设计我的按钮,它们看起来很酷并且对于WPF初学者来说很容易?

如果有人知道如何实现计算器按钮的MouseOver外观,那也非常感谢。

1 个答案:

答案 0 :(得分:0)

我假设您已经使用了控件模板?

您可以按如下方式应用样式触发器

<Style.Triggers>
  <Trigger Property="IsMouseOver" Value="True">
    <Setter Property="ControlTemplate" Value="{StaticResource baseStyleButtonMouseOver}" />
  </Trigger>
</Style.Triggers>