【发布时间】:2015-10-27 14:37:16
【问题描述】:
我有一个组合框,当我将鼠标悬停在它上面时,它会突出显示为白色。我想通过突出显示更改此鼠标的颜色。我在这个站点上查看了许多解决方案,但它们似乎都与下拉项目本身有关。我试图在单击组合框以显示下拉列表之前更改组合框的突出显示颜色。
【问题讨论】:
-
我发现link 可能会为您提供问题的答案
-
好东西,但看起来很复杂。
我有一个组合框,当我将鼠标悬停在它上面时,它会突出显示为白色。我想通过突出显示更改此鼠标的颜色。我在这个站点上查看了许多解决方案,但它们似乎都与下拉项目本身有关。我试图在单击组合框以显示下拉列表之前更改组合框的突出显示颜色。
【问题讨论】:
您可以在触发器中定义ComboBoxItem 样式并更改MouseOver 的颜色。
<Style x:Key="{x:Type ComboBoxItem}" TargetType="ComboBoxItem">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBoxItem">
<Border
Name="Border"
Padding="2"
SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsHighlighted" Value="true">
<Setter TargetName="Border" Property="Background" Value="{StaticResource SelectedBackgroundBrush}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="{StaticResource <<Your Static Brush color key>>"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
【讨论】: