WPF Button按鈕設定圓角

小林野夫發表於2024-04-02

這裡介紹Button按鈕設定圓角的兩種方法

第一種:最簡單的方法。

 <Button Content="圓角按鈕">
     <Button.Resources>
         <Style TargetType="{x:Type Border}">
             <Setter Property="CornerRadius" Value="8"/>
         </Style>
     </Button.Resources>
 </Button>

第二種:重寫Template,優點是這樣自由度更高,可以改更多的顯示效果,缺點是Triggers你也得重新寫一下,如果只是想要個圓角的話,推薦第一種。

<Button Content="圓角按鈕" >
    <Button.Style >
        <Style TargetType="{x:Type Button}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}" >
                        <Border x:Name="border" CornerRadius="8" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
                            <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Background" Value="#FFBEE6FD"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Button.Style>
</Button>

相關文章