我正在使用Extended WPF Toolkit的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 Trigger不会覆盖禁用的背景或边框颜色。它始终保持白色,我需要透明。但是我可以覆盖不透明度和BorderThickness。 (Windows 10):
无法更改IsMouseOver背景颜色,始终为浅蓝色。 (Windows 10):
Windows 7始终显示白色边框,即使BorderThickeness为0且Color为透明或{x:Null}:
我认为它正被控制模板覆盖,但IntergerUpDown在控制模板中没有RepeatButton样式,我在尝试添加一个时遇到了麻烦。我不得不在外面制作风格。
答案 0 :(得分:1)
通过样式设置器设置时,某些属性不起作用。这是因为Dependency Property Value Precedence。尝试更改ControlTemplate触发器中的值。