WPF自定义控件之扩展原生控件

1.继承

/// 
    /// 图标+文本编辑按钮控件
    /// 
    public partial class IconEditButton : Button

 

 

2.构造

#region Construction
        /// 
        /// 构造函数
        ///      
        static IconEditButton()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(IconEditButton), new FrameworkPropertyMetadata(typeof(IconEditButton)));
        }
        #endregion

 

 

3..自定义以来属性

 #region Icon
        /// 
        /// 注册
        /// 
        public static readonly DependencyProperty IconProperty =
            DependencyProperty.Register
            (
                "Icon",
                typeof(string),
                typeof(IconEditButton),
                new PropertyMetadata(string.Empty)
                );
        /// 
        /// 按钮字体图标编码
        /// 
        public string Icon
        {
            get { return (string)GetValue(IconProperty); }
            set { SetValue(IconProperty, value); }
        }
        #endregion

4.重写模板

 <TextBlock x:Name="icon"
                                   Margin="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=IconMargin}"
                                   RenderTransformOrigin="0.5,0.5"
                                   
                                   Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= Icon}"
                                   FontSize="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= IconSize}"
                                   Foreground="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= Foreground}"
                                   HorizontalAlignment="Left">

 

转载于:https://www.cnblogs.com/jiangyan219/articles/10921358.html

你可能感兴趣的:(WPF自定义控件之扩展原生控件)