代码之家  ›  专栏  ›  技术社区  ›  LA.27

设计Telerik WPF数字上下控制

  •  0
  • LA.27  · 技术社区  · 6 年前

    我使用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. </>

    我将控件添加到我的用户界面:

    <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 回复  |  直到 6 年前
        1
  •  1
  •   mm8    6 年前

    您需要修改默认值 ControlTemplates 并去除任何“光泽和光泽”的效果。最简单的方法是从 Themes.Implicit 将telerik安装目录中的文件夹放入解决方案中,然后根据需要进行编辑。

    恐怕没有“disableeffects”属性可以简单地设置在控件上。