C# Кнопка WPF при наведении не заполняет фон полностью - PullRequest
1 голос
/ 01 мая 2020

Подробности:

Это вывод моей Login кнопки при наведении:

enter image description here

Цель:

Я стремлюсь заполнить небольшое количество белого цвета синим цветом внутри кнопки при наведении.

Код:

Вот мой код стиля:

<Style TargetType="{x:Type Button}" x:Key="login_Btn">
<Setter Property="Foreground" Value="#004263"/>
<Setter Property="FontFamily" Value="Helvetica"/>
<Setter Property="FontWeight" Value="Light"/>


<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:Type Button}">
            <Border Background="{TemplateBinding Background}" CornerRadius="20"
                                                              BorderThickness="2"
                                                              BorderBrush="#004263">

                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>

            </Border>
        </ControlTemplate>
    </Setter.Value>
</Setter>

<Style.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="#004263"/>
            <Setter Property="Foreground" Value="White"/>
        </Trigger>
</Style.Triggers>

</Style>

Вопрос:

Как я могу заполнить белые углы при наведении на края кнопки?

И

Почему это происходит?

1 Ответ

1 голос
/ 01 мая 2020

Это просто проблема рендеринга кривых, но я не думаю, что это проблема.

Я нашел следующий обходной путь:

<ControlTemplate TargetType="{x:Type Button}">
    <Grid>
        <Border Background="{TemplateBinding Background}" CornerRadius="20" BorderThickness="0"/>
        <Border CornerRadius="20" BorderThickness="2" BorderBrush="#004263">
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
        </Border>
    </Grid>
</ControlTemplate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...