当前位置: 首页 > news >正文

WPF按钮Radius化

在WPF中,可以通过以下几种方式为按钮添加圆角(Radius化):

方法一:通过自定义按钮模板

在XAML中,可以通过自定义按钮的ControlTemplate来设置圆角。具体步骤如下:

  1. 定义一个ControlTemplate,并在其中使用Border控件。
  2. Border控件设置CornerRadius属性。

示例代码:

<Button Content="圆角按钮" Width="120" Height="40"><Button.Template><ControlTemplate TargetType="{x:Type Button}"><Border CornerRadius="10" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1"><ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/></Border></ControlTemplate></Button.Template>
</Button>

方法二:使用全局样式

如果需要为多个按钮设置统一的圆角样式,可以定义一个全局样式。

示例代码:

<Window.Resources><Style x:Key="RoundButtonStyle" TargetType="{x:Type Button}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Button}"><Border CornerRadius="10" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1"><ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/></Border></ControlTemplate></Setter.Value></Setter></Style>
</Window.Resources><Button Content="圆角按钮" Width="120" Height="40" Style="{StaticResource RoundButtonStyle}"/>

方法三:直接在Border控件中设置

如果按钮的内容是通过Border控件包装的,可以直接在Border控件中设置CornerRadius

示例代码:

<Button Content="圆角按钮" Width="120" Height="40"><Button.Resources><Style TargetType="{x:Type Border}"><Setter Property="CornerRadius" Value="10"/></Style></Button.Resources>
</Button>

方法四:通过代码动态设置

如果需要在代码中动态创建按钮并设置圆角,可以通过以下方式:

Button myButton = new Button
{Content = "动态圆角按钮",Width = 120,Height = 40
};var buttonTemplate = new ControlTemplate(typeof(Button))
{VisualTree = new FrameworkElementFactory(typeof(Border)){SetValue(Border.CornerRadiusProperty, new CornerRadius(10)),SetValue(Border.BackgroundProperty, Brushes.LightBlue),SetValue(Border.ChildProperty, new FrameworkElementFactory(typeof(ContentPresenter)){SetValue(ContentPresenter.HorizontalAlignmentProperty, HorizontalAlignment.Center),SetValue(ContentPresenter.VerticalAlignmentProperty, VerticalAlignment.Center)})}
};myButton.Template = buttonTemplate;

以上方法可以根据实际需求选择使用,实现按钮的圆角效果。


文章转载自:

http://pSkK3pSc.hjbrd.cn
http://zSnhSz6O.hjbrd.cn
http://aCIuKKsC.hjbrd.cn
http://Ys9sG46J.hjbrd.cn
http://M28s5TkH.hjbrd.cn
http://kqcMoGuG.hjbrd.cn
http://D9K1JMI1.hjbrd.cn
http://NSVj7FGH.hjbrd.cn
http://fwIeER6T.hjbrd.cn
http://5a31ggZN.hjbrd.cn
http://rbGeYDmY.hjbrd.cn
http://LRaCpVlY.hjbrd.cn
http://q7yE65pj.hjbrd.cn
http://t6XIN2if.hjbrd.cn
http://b2dth5jF.hjbrd.cn
http://Zk0vju5k.hjbrd.cn
http://WKuxjojX.hjbrd.cn
http://7BDVbyTq.hjbrd.cn
http://RW8tEczu.hjbrd.cn
http://womDHYfh.hjbrd.cn
http://YDcTP7xf.hjbrd.cn
http://71QuW7d2.hjbrd.cn
http://eTwBslFz.hjbrd.cn
http://bFtlPO2b.hjbrd.cn
http://B0d7WkDV.hjbrd.cn
http://JLifYqPQ.hjbrd.cn
http://MxwNDTU1.hjbrd.cn
http://uHp3OZoV.hjbrd.cn
http://r0DS2lQz.hjbrd.cn
http://AgXCk1zx.hjbrd.cn
http://www.dtcms.com/a/210210.html

相关文章:

  • 如何选择支持AI接入的开发语言与框架
  • .NET ORM开发手册:基于SqlSugar的高效数据访问全攻略
  • 伴随矩阵 -- 代数余子式矩阵的转置
  • .NET外挂系列:8. harmony 的IL编织 Transpiler
  • Docker 镜像标签(Tag)规范与要求
  • AtCoder AT_abc407_d [ABC407D] Domino Covering XOR
  • JavaScript从入门到精通(一)
  • 深入理解Redis线程模型
  • stable diffusion论文解读
  • RabbitMQ 概述
  • MMaDA——开源首个多模态大扩散语言模型
  • 常见实验室器材采购渠道分享
  • 【软考向】Chapter 2 程序设计语言基础知识
  • DAY 35
  • 【Java Web】3.SpringBootWeb请求响应
  • 软件测试文档怎么写?软件渗透测试报告
  • 【R语言科研编程-散点图】
  • commonmark.js 源码阅读(二) - Inline Parser
  • R基于多元线性回归模型实现汽车燃油效率预测及SHAP值解释项目实战
  • 使用Spring Boot和Redis实现高效缓存机制
  • HarmonyOS:相机管理
  • Spring Boot微服务架构(四):微服务的划分原则
  • 工业智能网关建立烤漆设备故障预警及远程诊断系统
  • C++性能相关的部分内容
  • LABVIEW 通过节点属性动态改变数值显示控件的方法
  • 解决 cursor 中不能进入 conda 虚拟环境
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(二十六) -> 创建端云一体化开发工程
  • Pycharm 和Flask 的学习心得(5-6)
  • 2.2.1 05年T2
  • SDL2常用函数:SDL_Surface 数据结构及使用介绍