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

1.继承

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

 

 

2.构造

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

 

 

3..自定义以来属性

 #region Icon
        /// <summary>
        /// 注册
        /// </summary>
        public static readonly DependencyProperty IconProperty =
            DependencyProperty.Register
            (
                "Icon",
                typeof(string),
                typeof(IconEditButton),
                new PropertyMetadata(string.Empty)
                );
        /// <summary>
        /// 按钮字体图标编码
        /// </summary>
        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">

 

posted @ 2019-05-25 09:21  <--青青子衿-->  阅读(177)  评论(0编辑  收藏  举报
// /**/ // 在页脚Html代码 引入 // function btn_donateClick() { var DivPopup = document.getElementById('Div_popup'); var DivMasklayer = document.getElementById('div_masklayer'); DivMasklayer.style.display = 'block'; DivPopup.style.display = 'block'; var h = Div_popup.clientHeight; with (Div_popup.style) { marginTop = -h / 2 + 'px'; } } function MasklayerClick() { var masklayer = document.getElementById('div_masklayer'); var divImg = document.getElementById("Div_popup"); masklayer.style.display = "none"; divImg.style.display = "none"; } setTimeout( function () { document.getElementById('div_masklayer').onclick = MasklayerClick; document.getElementById('btn_donate').onclick = btn_donateClick; var a_gzw = document.getElementById("guanzhuwo"); a_gzw.href = "javascript:void(0);"; $("#guanzhuwo").attr("onclick","follow('33513f9f-ba13-e011-ac81-842b2b196315');"); }, 900);