样式化 Telerik WPF NumericUpDown 控件
Styling Telerik WPF NumericUpDown Control
我使用 Telerik WPF 控件并需要将 NumericUpDown 控件添加到我的 UI。问题是在使用时 "as it is" 它在视觉上不适合应用程序的其余部分
<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>
这会处理一些基本的样式功能(边框、边距等)。一般来说,它看起来 "good enough"。只有一个问题 - 当鼠标指针悬停在控件上时,它会变得闪闪发光。这与我的其他控件的行为不一样 - 有没有一种简单的方法可以消除这种影响?
我已经尝试过触发器:
<Style>
...
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Red" />
<Setter Property="Border.BorderBrush" Value="Black" />
...
</Style.Triggers>
</Style>
但这并没有起到多大作用。我也试过设置 IncreaseButtonContentTemplate 字段,但结果也不好。
您需要修改默认 ControlTemplates
并从中删除任何 "shiny and glossy" 效果。最简单的方法是将默认模板从 Telerik 安装目录中的 Themes.Implicit
文件夹复制到您的解决方案中,然后根据您的要求进行编辑。
恐怕没有"DisableEffects"属性可以简单地在控件上设置。
我使用 Telerik WPF 控件并需要将 NumericUpDown 控件添加到我的 UI。问题是在使用时 "as it is" 它在视觉上不适合应用程序的其余部分
<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>
这会处理一些基本的样式功能(边框、边距等)。一般来说,它看起来 "good enough"。只有一个问题 - 当鼠标指针悬停在控件上时,它会变得闪闪发光。这与我的其他控件的行为不一样 - 有没有一种简单的方法可以消除这种影响?
我已经尝试过触发器:
<Style>
...
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Red" />
<Setter Property="Border.BorderBrush" Value="Black" />
...
</Style.Triggers>
</Style>
但这并没有起到多大作用。我也试过设置 IncreaseButtonContentTemplate 字段,但结果也不好。
您需要修改默认 ControlTemplates
并从中删除任何 "shiny and glossy" 效果。最简单的方法是将默认模板从 Telerik 安装目录中的 Themes.Implicit
文件夹复制到您的解决方案中,然后根据您的要求进行编辑。
恐怕没有"DisableEffects"属性可以简单地在控件上设置。