wpf DependencyProperty

 /// <summary>
    /// 点击一下换一个文字的按钮
    /// </summary>
    public partial class ClickChangeLable


    {


        public static readonly DependencyProperty MyTextProperty = DependencyProperty.Register("MyText", typeof(string), typeof(ClickChangeLable)
            , new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(MyTextBoxChandedCallBack))
            );


        private static void MyTextBoxChandedCallBack(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
           
        }




        public string MyText
        {
            get
            {
                return (string) GetValue(MyTextProperty); 
                
            }
            set
            {
                ValueShow.Text = value;
                
                SetValue(MyTextProperty,value);
            }


        }






      


 


      
        private List<string> _userContent;
        private List<string> _contents;
        private int i = 0;
        public ClickChangeLable()
        {
            InitializeComponent();
            _contents = new List<string>()
            {
                
                "年",
                "月",
                "日"
            };
            //绑定点击事件
            MouseUp += OnMourseClick;
            MouseLeftButtonDown += OnMouseLeftButtonDown;
            MouseLeftButtonUp += OnMouseLeftButtonUp;




        }


        private void OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            Label.Background = Brushes.DodgerBlue;
        }


        private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {


            Label.Background = Brushes.DeepSkyBlue;
        }


        /// <summary>
        /// 提供接口给用户自己定义Content
        /// </summary>
        public List<string> UserContent
        {
            get { return _userContent; }
            set { _userContent = value; }
        }
        
        public string UnitText
        {
            get
            {
                return Label.Content.ToString();
                
            }
            set
            {
                Label.Content = value;
                
            }
        }


        //public string MYText
        //{
        //    get { return ValueShow.Text; }
        //    set
        //    {
        //        text = value;
        //        ValueShow.Text = text;
        //    }


        //}


        /// <summary>
        /// 鼠标点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMourseClick(object sender, MouseButtonEventArgs e)
        {
             
            i++;
            //确保不会越界
            int index = i % _contents.Count;
            //如果用户自己没有定义content
            if (UserContent == null)
                Label.Content = _contents[index];
            else
                Label.Content = UserContent[index];


        }
        /// <summary>
        /// 获取当前选中的值
        /// </summary>
        /// <returns></returns>
        public string GetText()
        {
            return Label.Content.ToString();
        }




        
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值