【发布时间】:2016-12-31 17:58:43
【问题描述】:
我正在使用扩展 WPF 工具包的 IntegerUpDown 控件。
I was able to stylize the arrow buttons in a previous question.
我遇到了一些额外的样式问题:
我正在使用 PresentationFramework.Aero 和 Aero2。
<!-- RepeatButton Style -->
<Style x:Key="{x:Static theme:ResourceKeys.SpinnerButtonStyleKey}" TargetType="RepeatButton">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="DarkBlue"/>
<Setter Property="BorderBrush" Value="Transparent" />
</Trigger>
</Style.Triggers>
</Style>
完整 XAML 的链接:http://pastebin.com/ETYgHEpz
IsEnabled False 触发器不会覆盖已禁用的背景或边框颜色。它总是保持白色,我需要它透明。但是我可以覆盖不透明度和边框厚度。 (Windows 10):
无法更改 IsMouseOver 背景颜色,始终为浅蓝色。 (Windows 10):
Windows 7 始终显示白色边框,即使 BorderThickeness 为 0 且颜色为透明或 {x:Null}:
我认为它被控制模板覆盖,但 IntergerUpDown 在控制模板中没有重复按钮样式,我在尝试添加一个时遇到了麻烦。我必须在外面创建样式。
【问题讨论】:
标签: wpf visual-studio xaml