wpf 自定义圆形按钮效果图默认样式获取焦点样式点击样式 下面是实现代码:一个是自定义控件类,一个是控件类皮肤 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentMod ...
get='_blank'>wpf 自定义圆形按钮
效果图
默认样式
获取焦点样式
点击样式
下面是实现代码:
一个是自定义控件类,一个是控件类皮肤
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Linq; 5 using System.Text; 6 using System.Windows; 7 using System.Windows.Controls; 8 using System.Windows.Data; 9 using System.Windows.Documents; 10 using System.Windows.Input; 11 using System.Windows.Media; 12 using System.Windows.Media.Imaging; 13 using System.Windows.Navigation; 14 using System.Windows.Shapes; 15 16 namespace MF.WPF.CustomControls.RoundButton 17 { 18 /// <summary> 19 /// 按照步骤 1a 或 1b 操作,然后执行步骤 2 以在 XAML 文件中使用此自定义控件。 20 /// 21 /// 步骤 1a) 在当前项目中存在的 XAML 文件中使用该自定义控件。 22 /// 将此 23 /// 元素中: 24 /// 25 /// 26 /// 27 /// 28 /// 步骤 1b) 在其他项目中存在的 XAML 文件中使用该自定义控件。 29 /// 将此 30 /// 元素中: 31 /// 32 /// 33 /// 34 /// 您还需要添加一个从 XAML 文件所在的项目到此项目的项目引用, 35 /// 并重新生成以避免编译错误: 36 /// 37 /// 在解决方案资源管理器中右击目标项目,然后依次单击 38 /// “添加引用”->“项目”->[浏览查找并选择此项目] 39 /// 40 /// 41 /// 步骤 2) 42 /// 继续操作并在 XAML 文件中使用控件。 43 /// 44 /// <MyNamespace:RoundButton/> 45 /// 46 /// </summary> 47 /// 48 public class RoundButton : Button 49 { 50 51 public static readonly DependencyProperty EllipseDiameterProperty = DependencyProperty.Register("EllipseDiameter", typeof(double), typeof(RoundButton), new PropertyMetadata(22D)); 52 53 public static readonly DependencyProperty EllipseStrokeThicknessProperty = DependencyProperty.Register("EllipseStrokeThickness", typeof(double), typeof(RoundButton), new PropertyMetadata(1D)); 54 55 public static readonly DependencyProperty IconDataProperty = DependencyProperty.Register("IconData", typeof(Geometry), typeof(RoundButton)); 56 57 public static readonly DependencyProperty IconSizeProperty = DependencyProperty.Register("IconSize", typeof(double), typeof(RoundButton), new PropertyMetadata(12D)); 58 59 static RoundButton() 60 { 61 DefaultStyleKeyProperty.OverrideMetadata(typeof(RoundButton), new FrameworkPropertyMetadata(typeof(RoundButton))); 62 } 63 64 /// <summary> 65 /// 获取或设置椭圆直径。 66 /// </summary> 67 [Description("获取或设置椭圆直径")] 68 [Category("Common Properties")] 69 public double EllipseDiameter 70 { 71 get { return (double)GetValue(EllipseDiameterProperty); } 72 set { SetValue(EllipseDiameterProperty, value); } 73 } 74 75 /// <summary> 76 /// 获取或设置椭圆笔触粗细。 77 /// </summary> 78 [Description("获取或设置椭圆笔触粗细")] 79 [Category("Common Properties")] 80 public double EllipseStrokeThickness 81 { 82 get { return (double)GetValue(EllipseStrokeThicknessProperty); } 83 set { SetValue(EllipseStrokeThicknessProperty, value); } 84 } 85 86 /// <summary> 87 /// 获取或设置图标路径数据。 88 /// </summary> 89 [Description("获取或设置图标路径数据")] 90 [Category("Common Properties")] 91 public Geometry IconData 92 { 93 get { return (Geometry)GetValue(IconDataProperty); } 94 set { SetValue(IconDataProperty, value); } 95 } 96 97 /// <summary> 98 ///获取或设置icon图标的高和宽。 99 /// </summary> 100 [Description("获取或设置icon图标的高和宽")]101 [Category("Common Properties")]102 public double IconSize103 {104 get { return (double)GetValue(IconSizeProperty); }105 set { SetValue(IconSizeProperty, value); }106 }107 108 }109 }
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:wpf 自定义圆形按钮
关键词:wpf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。