样式Telerik WPF NumericUpDown控件

时间:2018-05-30 09:49:19

标签: wpf xaml telerik numericupdown wpf-style

我使用Telerik WPF控件,需要在我的UI中添加NumericUpDown控件。事情就是当“按原样”使用时,它不能直观地应用于应用程序的其余部分

<TL;DR> This is a bigger application, that's not been written fully by me. Other people somehow managed to "import" other telerik controls and assign them other styles. Sadly, nobody's used the UpDown control before. </>

我将控件添加到我的UI:

<telerik:RadNumericUpDown
  Minimum="0"
  Maximum="10"
  SmallChange="1"
  NumberDecimalDigits="0"
  IsInteger="True"
  Value="{Binding Path=Counter}" />

另外,我在ResourceDictionary中添加了一些样式:

  <Style TargetType="{x:Type telerikInput:RadNumericUpDown}">
    <Setter Property="Padding" Value="1"/>
    <Setter Property="Margin" Value="2"/>
    <Setter Property="Border.CornerRadius" Value="2" />
    <Setter Property="Border.Background" Value="{StaticResource ControlBackgroundBrush}" />
    <Setter Property="Border.BorderBrush" Value="{StaticResource SolidBorderBrush}" />
    <Setter Property="Border.BorderThickness" Value="1" />
  </Style>

这会处理一些基本的样式功能(边框,边距等)。一般来说,它看起来“足够好”。只有一个问题 - 当鼠标指针悬停在控件上时,它会变得有光泽和有光泽。这不像我的其他控件行为 - 是否有一种简单的方法来消除这种效果?

我尝试过尝试触发器:

<Style>
...
  <Style.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
      <Setter Property="Foreground" Value="Red" />
      <Setter Property="Border.BorderBrush" Value="Black" />
      ...
  </Style.Triggers>
</Style>

但这并没有做太多。我也试过设置IncreaseButtonContentTemplate字段,但结果也不好。

1 个答案:

答案 0 :(得分:1)

您需要修改默认ControlTemplates并删除任何&#34;闪亮且有光泽的&#34;他们的影响。最简单的方法是将默认模板从Telerik安装目录中的Themes.Implicit文件夹复制到您的解决方案中,然后根据您的要求进行编辑。

没有&#34; DisableEffects&#34;你恐怕可以简单地设置控件的属性。