I have a Rounded Border containing a ComboBox as follow:
As soon as my mouse hover on the ComboBox, I get this
I want to get rid of the button-like background. I tried setting background to white or null in MouseEnter , MouseLeave , MouseUp ... everything with Mouse but still I can't get rid of the default button background on the ComboBox. Does anyone has a clue?
Code below:
/* 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;
}
The background is set by a style trigger in the default ComboBox
style, which activates when IsMouseOver
is true
.
There are a couple of ways around this: either override the trigger in your own style, or set BasedOn="{x:Null}"
in your own ComboBox style to prevent the base style from being inherited.
You have to modify the default controlTemplate of the Combobox for this.Check the link below
http://social.msdn.microsoft.com/Forums/en/wpf/thread/a18891e9-8879-4819-9679-247341782f60
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.