Как изменить свойство фона ComboBox во время наведения мыши - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть Закругленная граница, содержащая ComboBox следующим образом:

enter image description here

Как только моя мышь зависает в ComboBox, я получаю это

enter image description here

Я хочу избавиться от кнопочного фона. Я попытался установить фоновое значение белого или нулевого в MouseEnter , 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 ]

1 голос
/ 06 апреля 2011

Фон задается триггером стиля в стиле ComboBox по умолчанию, который активируется, когда IsMouseOver равен true.

Существует несколько способов обойти это: либо переопределить триггер в своем собственном стиле, либо установить BasedOn="{x:Null}" в своем собственном стиле ComboBox, чтобы предотвратить наследование базового стиля.

0 голосов
/ 06 апреля 2011

Для этого вам нужно изменить шаблон элемента управления по умолчанию в комбинированном списке. Проверьте ссылку ниже

http://social.msdn.microsoft.com/Forums/en/wpf/thread/a18891e9-8879-4819-9679-247341782f60

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...