ControlTemplate Button and Rounded Corners

I have a control panel for buttons. I want to make buttons with rounded corners. How should I do it?

I tried the CornerRadius button for the button in Border, but it does not work. The background of the button is set to an image with angular borders, and the button looks uncomfortable, because I can not set the angles for the button.

+3
source share
1 answer

Try the following:

<Style x:Key="GlassButton" TargetType="{x:Type Button}">
    <Setter Property="FontSize" Value="42" />
    <Setter Property="Foreground" Value="White" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Border x:Name="border"
                        CornerRadius="25"
                        BorderThickness="4"
                        Background="#AA000000"
                        BorderBrush="Red"
                        RenderTransformOrigin="0.5,0.5">
                    <ContentPresenter x:Name="ButtonContentPresenter"
                                      VerticalAlignment="Center"
                                      HorizontalAlignment="Center" />
                </Border>

                <ControlTemplate.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter TargetName="border" Property="BorderBrush" Value="#FF4788c8" />
                        <Setter Property="Foreground" Value="#FF4788c8" />
                    </Trigger>
                    <Trigger Property="IsPressed" Value="True">
                        <Setter Property="Background">
                            <Setter.Value>
                                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                                    <GradientStop Color="#FFFFD190" Offset="0.35" />
                                    <GradientStop Color="Orange" Offset="0.95" />
                                    <GradientStop Color="#FFFFD190" Offset="1" />
                                </LinearGradientBrush>
                            </Setter.Value>
                        </Setter>
                        <Setter TargetName="content" Property="RenderTransform">
                            <Setter.Value>
                                <TranslateTransform Y="1.0" />
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                    <Trigger Property="IsDefaulted" Value="True">
                        <Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
                    </Trigger>
                    <Trigger Property="IsFocused" Value="True">
                        <Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
                    </Trigger>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter TargetName="border" Property="Opacity" Value="0.7" />
                        <Setter Property="Foreground" Value="Gray" />
                    </Trigger>

                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
+9
source

Source: https://habr.com/ru/post/1740189/


All Articles