Задать вопрос
@aydep

Как изменить фон кнопки в WPF при наведении мыши?

Привет! Есть проблема с тем, что я пытаюсь добавить стили к кнопке. Все работают нормально, за исключением изменения фона при наведении. Прописываю триггер с изменением цвета фона, но он не меняет цвет на заданный мною. Я так понимаю что есть какой-то стандартный стиль, задающий фон при наведении, изменить который у меня не получается.
<Application.Resources>
        <Style x:Key="cdButton" TargetType="Button">
            <Setter Property="Background" Value="#3D5754" />
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="Red" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Application.Resources>


<Button Content="Войти" Margin="0 20" Click="button_Sign_Click" Style="{StaticResource cdButton}" >


Показывает следующее без наведения:61927351712d7243115814.png
Показывает с наведением:6192735912146505049897.png
Что хотелось бы при наведении:61927362d0966766659128.png
  • Вопрос задан
  • 7311 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@Ertanic
Нужно поменять шаблон кнопки и забиндить цвет фона кнопки с цветом фона бордюра:
<Style TargetType="{x:Type Button}">
    <Setter Property="Background" Value="#3D5754"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Border Background="{TemplateBinding Background}">
                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="Red"/>
        </Trigger>
    </Style.Triggers>
</Style>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы