如何在鼠标悬停期间更改ComboBox背景属性

时间:2011-04-06 07:42:01

标签: c# wpf combobox

我有一个包含ComboBox的圆形边框如下:

enter image description here

只要我的鼠标悬停在ComboBox上,我就会得到这个

enter image description here

我想摆脱类似按钮的背景。我尝试将背景设置为白色或在 MouseEnter 中设置为null, MouseLeave MouseUp ...所有鼠标但仍然无法摆脱ComboBox上的默认按钮背景。有没有人有线索?

以下代码:

/* XAML */
<Border CornerRadius="11" BorderThickness="1" Height="24" Width="70" 
    Grid.Column="1" Margin="5,5,5,5" VerticalAlignment="Center" 
    HorizontalAlignment="Left" Background="White">
    <ComboBox x:Name="comboBox1" BorderBrush="{x:Null}" 
          Background="{x:Null}" Width="70" MouseMove="MouseHover"
          MouseEnter="MouseHover"
    </ComboBox>
    </Border>

/* C# code */
private void MouseHover(object sender, RoutedEventArgs e)
{
    comboBox1.Background = null;
}

2 个答案:

答案 0 :(得分:1)

背景由默认ComboBox样式的样式触发器设置,该样式在IsMouseOvertrue时激活。

有几种解决方法:或者以自己的风格覆盖触发器,或者在自己的ComboBox样式中设置BasedOn="{x:Null}"以防止继承基本样式。

答案 1 :(得分:0)