2016-12-31 50 views
1

我正在使用扩展WPF工具包的IntegerUpDown控件。重复按钮样式设置器/触发器不起作用

I was able to stylize the arrow buttons in a previous question.

Before Style之前

After Style

我碰到的一些额外的风格问题后:

我使用PresentationFramework.Aero和Aero2。

​​

链接到完整的XAML:http://pastebin.com/ETYgHEpz

的的IsEnabled误触发不会改写禁用背景或边框颜色。它始终保持白色,我需要它透明。不过,我可以重写不透明度和边框厚度。 (视窗10):

Disabled Background Win10

无法更改IsMouseOver背景颜色,总是淡蓝色。 (视窗10):

MouseOver Color

Windows 7中始终显示白色边框,即使BorderThickeness为0,颜色为透明或{x:空}:

Win7 Border

我认为这被控制模板重写,但是IntergerUpDown在控制模板中没有RepeatButton样式,并且在尝试添加一个时遇到了问题。我不得不在室外创作风格。

回答

1

当您通过样式设置器进行设置时,某些属性将不起作用。这是因为Dependency Property Value Precedence。尝试更改ControlTemplate触发器中的值。

+0

IntegerUpDown缺少RepeatButton的控件模板触发器。当我尝试添加一个时,它会给出错误警告。我不得不在Control Template之外的全局风格。现在我不得不删除扩展工具包,并使用TextBox,Buttons,C#自己创建一个UpDown控件,并通过xaml对其进行了设置。 –