WPF 如何修改button圆角

本文详细介绍了在WPF中如何正确地设置Button的圆角效果,包括添加Button的template和在设置border的同时必须设置background的技巧,避免了常见的错误并提供了具体的XAML代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎大家访问我的博客 blog.ayla1688.cool


本人想设置Button为圆角,奈何搜索百度,找到的全是坑爹答案,现总结如下:

1. 需要添加button 的template. 

2. 设置border的时候,必须要设置background, 否则会提示content 被多次使用。

<!--按钮-->
            <Button Grid.Row="3" Grid.Column="2" Content="取消" Margin="30,40,200,40" >
                <Button.Template >
                    <ControlTemplate TargetType="{x:Type Button}" >
                        <Border BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="1" CornerRadius="7,7,7,7">
                            <Border.Background>#FFDDDDDD</Border.Background>
                            <ContentPresenter Content="{TemplateBinding ContentControl.Content}" HorizontalAlignment="Center" VerticalAlignment="Center" ></ContentPresenter>
                        </Border>
                    </ControlTemplate>
                </Button.Template>
            </Button>

 

### 实现 WPFButton 控件的圆角边框样式 在 WPF 应用程序中,可以通过多种方法来设置 `Button` 的圆角边框样式。以下是几种常见的方式: #### 方法一:通过资源字典定义全局样式 可以在应用程序的资源文件或窗口级别的资源部分定义一个通用样式的 `Style` 来应用到所有的按钮上。 ```xml <Window.Resources> <Style x:Key="RoundedButtonStyle" TargetType="Button"> <Setter Property="Background" Value="#d9534f"/> <Setter Property="Foreground" Value="White"/> <Setter Property="FontSize" Value="16"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="Padding" Value="10,5"/> <Setter Property="BorderBrush" Value="Black"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="8"> <!-- 设置圆角 --> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Button Content="点击这里" Style="{StaticResource RoundedButtonStyle}" Width="120" Height="40"/> ``` 这种方法适用于希望在整个项目范围内统一使用的场景[^3]。 #### 方法二:直接在 XAML 文件内定义局部样式 如果只需要针对特定页面上的某些按钮应用此效果,则可以直接在此页面内的 `<Grid>` 或其他容器标签下定义该样式而无需将其放置于整个窗体级别。 ```xml <StackPanel Orientation="Horizontal"> <Button Content="提交表单"> <Button.Style> <Style TargetType="Button"> <Setter Property="CornerRadius" Value="8"/> <!-- 设置圆角 --> <Setter Property="Width" Value="100"/> <Setter Property="Height" Value="40"/> <Setter Property="Margin" Value="5"/> </Style> </Button.Style> </Button> <Button Content="取消操作"> <Button.Style> <Style TargetType="Button"> <Setter Property="CornerRadius" Value="8"/> <!-- 设置圆角 --> <Setter Property="Width" Value="100"/> <Setter Property="Height" Value="40"/> <Setter Property="Margin" Value="5"/> </Style> </Button.Style> </Button> </StackPanel> ``` 这种方式更加灵活,允许开发者在同一界面中有不同的设计需求时分别处理各个组件[^2]。 #### 方法三:利用 Visual Studio 设计器功能创建自定义模板 对于那些不熟悉XAML语法但希望通过图形化工具完成任务的人来说,在Visual Studio中提供了方便的功能——即右键点击所需修改外观的对象(本例中为`Button`),选择菜单项“编辑模板(Edit Template)”-> “编辑副本(Edit a Copy...)”。这将引导用户逐步建立一个新的控件模板,并可在其中轻松调整包括但不限于圆角在内的各种视觉特性[^4]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值