wpf DependencyProperty

原创 2016年08月29日 08:10:29
 /// <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();
        }




        
    }

介绍WPF中DependencyProperty的一些基本用法

转自:http://blog.sina.com.cn/s/blog_6130c4c40100e7ud.html 这一篇Post中,我准备先介绍WPF中DependencyProperty的一些基本用...
  • HFDNGL
  • HFDNGL
  • 2016年03月09日 11:28
  • 1634

WPF中的DependencyProperty存储方式详解

前言 接触WPF有一段时间了,之前虽然也经常使用,但是对于DependencyProperty一直处于一知半解的状态。今天花了整整一下午将这个概念梳理了一下,自觉对这个概念有了较为清晰的认识,之前很...
  • dyllove98
  • dyllove98
  • 2013年07月16日 20:18
  • 2589

WPF入门系列教程(二) 深入剖析WPF Binding的使用方法

同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProperty)只能拥有一个binding。 这一点可以通过设置bi...
  • StudyBao
  • StudyBao
  • 2013年02月21日 14:31
  • 742

介绍WPF中DependencyProperty的一些基本用法

这一篇Post中,我准备先介绍WPF中DependencyProperty的一些基本用法。      在程序中使用DependencyProperty好的,我相信你已经决定了要使用Dependen...
  • albert528108
  • albert528108
  • 2016年06月14日 14:54
  • 1274

WPF 依赖属性,用户控件依赖属性(DependencyProperty 依赖属性、GetValue() SetValue() CLR属性包装器、SetBinding 数据绑定)

//定义依赖属性,类必须继承 DependencyObject public class Student : DependencyObject { //定义依赖属性 N...
  • tiz198183
  • tiz198183
  • 2016年11月07日 15:38
  • 750

第4章 依赖属性(3)——自定义附加属性

一、概述 附加属性也是一种依赖属性,同样由WPF属性系统管理。不同之处在于附加属性被应用到的类并非定义附加属性的那个类。例如,Grid类定义了Row和Column附加属性,这两个属性被用于设置Gri...
  • songyi160
  • songyi160
  • 2016年10月26日 22:17
  • 382

[UWP]依赖属性1:概述

1. 概述 依赖属性(DependencyProperty)是UWP的核心概念,它是有DependencyObject提供的一种特殊的属性。由于UWP的几乎所有UI元素都是集成于Dependency...
  • x333vxhl
  • x333vxhl
  • 2017年02月09日 14:27
  • 234

依赖属性(DependencyProperty)

Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能,这些服务通常统称为 WPF 属性系统。由 WPF ...
  • shang3988
  • shang3988
  • 2013年05月01日 20:11
  • 356

依赖属性(DependencyProperty)

一站式WPF--依赖属性(DependencyProperty)一 Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于...
  • binbingg
  • binbingg
  • 2013年09月05日 14:27
  • 503

一站式WPF--依赖属性(DependencyProperty)一

 Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能,这些服务通常统称为 WPF 属性系统。由 ...
  • yulongguiziyao
  • yulongguiziyao
  • 2014年08月05日 11:57
  • 397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:wpf DependencyProperty
举报原因:
原因补充:

(最多只允许输入30个字)