zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    GAC的理解及其作用 [转]
    Binding Policy in .NET/ Assembly search order (Bin/GAC)
    Batch update
    Table-Valued Parameters in SQL Server 2008 (ADO.NET)
    EXT的bug 布局border 和 grid的cellediting
    ext 的controller中的refs的使用方法
    Ext 修改内容之后 不做任何动作 再次修改时的数据是原来第一次修改前的数据
    php 与mysql 数据库
    前端开发和后端开发
    http 你造吗?
  • 原文地址:https://www.cnblogs.com/lihuali/p/14722837.html
Copyright © 2011-2022 走看看