• WPF属性


    (一)依赖属性【源码-09DependencyObj
    依赖属性就是一种可以自己没有值,并能通过使用Binding从数据源获得值(依赖在别人身上)的属性。拥有依赖属性的对象被称为“依赖对象”。与传统的CLR属性和面向对象思想相比依赖属性有很多新颖之处。
    ①:节省实例对内存的开销
    ②:属性值可以通过Binding依赖在其他对象上。
    依赖属性对内存的使用方式
    在传统.NET开发中,一个对象所占用的内存空间在调用new操作符进行实例化的时候已经决定了,而WPF允许对象在被创建的时候并不包含用于存储数据的空间(即字段所占用的空间)、只保留在需要用到数据时能够获得默认值、借用其他对象数据或实时分配空间的能力——这种对象就称为依赖对象(DependencyObject),而这种实时获取数据的能力则依靠依赖属性(DependencyProperty)来实现。在WPF开发中,必须使用依赖对象(DependencyObject)作为依赖属性(DependencyProperty)的宿主,使二者结合起来,才能形成完整的Binding目标被数据所驱动。

    public class Student : DependencyObject
    {
        public string Name
        {
            get { return (string)GetValue(NameProperty); }
            set { SetValue(NameProperty, value); }
        }
        public static readonly DependencyProperty NameProperty = 
            DependencyProperty.Register("Name",//string类型,用这个参数来指明以哪个CLR属性作为这个依赖属性的包装器
            typeof(string), //用来指明此依赖属性用来存储什么类型的值。
            typeof(Student));//用来指明此依赖属性的宿主是什么类型,或者说DependencyProperty.Register方法将把这个依赖属性注册关联到那个类型上。
    }

    image

  • 相关阅读:
    ActionScript 条件编译
    FLASH通讯小结
    关于ob_start()
    剖析PHP中的输出缓冲
    Ext.app.controller的refs
    php多线程解决之stream_socket_client
    谷歌的JQuery库
    PHP计划任务之关闭浏览器后仍然继续执行的函数
    关于php调用可执行程序,在后台运行而不让页面等待
    把预定义的字符串转化为html标签
  • 原文地址:https://www.cnblogs.com/lihuali/p/14722837.html
Copyright © 2020-2023  润新知