Wpf 为什么我的IsMouseOver风格在我的控制器风格中什么都不做
所以我有这个Wpf 为什么我的IsMouseOver风格在我的控制器风格中什么都不做,wpf,mahapps.metro,Wpf,Mahapps.metro,所以我有这个风格: xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" <Style TargetType="Controls:NumericUpDown"> <Setter Property="Background" Value="#FF307AE4"/> <Style.Triggers> <Trigger Prope
风格
:
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
<Style TargetType="Controls:NumericUpDown">
<Setter Property="Background" Value="#FF307AE4"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="Gray"/>
<Setter Property="BorderBrush" Value="Gray"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="Gainsboro"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="BorderBrush" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
xmlns:Controls=“clr命名空间:MahApps.Metro.Controls;assembly=MahApps.Metro”
我定义了几种颜色,并想更改IsMouseOver
属性,但这似乎根本不起作用
已启用
工作正常
我做错了什么?查看是否也在控件中设置BorderBrush属性,认为它将设置一些初始值。这将始终优先于通过样式所做的任何更改 我尝试了以下代码:
<Controls:NumericUpDown Minimum = "0" Maximum = "10000" Interval = "5" StringFormat="C2" Padding="5">
<Controls:NumericUpDown.Style>
<Style TargetType="Controls:NumericUpDown">
<Setter Property="Background" Value="Pink"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="Yellow"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Background" Value="DeepSkyBlue"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="3"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Cornsilk"/>
<Setter Property="BorderBrush" Value="Purple"/>
<Setter Property="BorderThickness" Value="3"/>
</Trigger>
</Style.Triggers>
</Style>
</Controls:NumericUpDown.Style>
</Controls:NumericUpDown>
鼠标悬停在边界上的效果根本不可见。背景效果很好,但BorderBrush、BorderThickness根本不起作用。这肯定是一个错误
但是,当我们应用本页给出的某些样式时,情况会发生变化。但还是没有改变。但边界厚度工作正常。你可以做实验。一旦我熟悉了这一点,我会再次更新
控件的代码是什么:NumericUpDown?您应该在该
NumericUpDown
中应用您的样式。它甚至可能根本没有任何BorderBrush
属性。不,这只在我的style@markyer边界厚度是显示边界相关内容的必要条件。请看我编辑的答案。@markyer这与风格有关,我已经再次更新了我的答案,因为我是第一次使用MahaApps。你可以尝试更多的样式。这很奇怪,当鼠标结束时:BorderBrush变为Gray@markyer你可以在这里提交你的问题