【发布时间】:2015-06-22 02:17:51
【问题描述】:
我在我的 WPF ModernUI 应用程序中使用 Extended WPF Toolkit 中的 DecimalUpDown 控件:
<xctk:DecimalUpDown Value="{Binding myProperty}" Increment="1" Maximum="10" Minimum="0" />
让我烦恼的是:如果选择了强调色,例如红色,那么标准的 ModernUI-Controls(例如文本框)会很好地适应该颜色:
DecimalUpDown 控件却坚持其风格。例如,控件处于活动状态时为蓝色,并且控件中使用的 RepeatButtons 看起来不像 ModernUI 按钮:
更糟糕的是:视图中放置 DecimalUpDown 控件的所有文本框现在都呈现这种样式,并以蓝色而不是红色突出显示:
我该如何改变?
编辑:这是我按照 Ben 的好建议生成的 ControlTemplate:
<ControlTemplate x:Key="ControlControlTemplate1" TargetType="{x:Type Control}">
<xctk:ButtonSpinner x:Name="PART_Spinner" AllowSpin="{Binding AllowSpin, RelativeSource={RelativeSource TemplatedParent}}"
...>
<xctk:WatermarkTextBox x:Name="PART_TextBox" AutoMoveFocus="{Binding AutoMoveFocus, RelativeSource={RelativeSource TemplatedParent}}"
AutoSelectBehavior="{Binding AutoSelectBehavior, RelativeSource={RelativeSource TemplatedParent}}"
AcceptsReturn="False"
.../>
</xctk:ButtonSpinner>
<ControlTemplate.Triggers>
...
</ControlTemplate.Triggers>
</ControlTemplate>
然后可以设置 WatermarkTextBox 和 ButtonSpinner 的样式:
到目前为止我还没有管理:有没有办法访问 ButtonSpinner 中的重复按钮,以便我也可以设置它们的样式?
【问题讨论】: