Dependency Property

原创 2007年10月03日 21:22:00

WPF引入了一种新的属性:Dependency属性。Dependency属性的应用贯串在整个WPF当中。Dependency属性根据多个提供对象来决定它的值。并且是及时更新的。提供对象可以是动画,不断地改变它的值。也可以是父元素,它的属性值被继承到子元素。毫无疑问,Dependency属性最大的特点就是内建的变化通知功能。提供Dependency属性功能主要是为了直接从声明标记提供丰富的功能。WPF声明的友好设计的关键是大量的使用属性。如果没有Dependency属性,我们将不得不编写大量的代码。关于WPF的Dependency属性,我们将重点研究如下三个方面:

1、变化通知功能:属性的值被改变后,通知界面进行更新。

2、属性值的继承功能:子元素将继承父元素中对应属性名的值。

3、支持多个提供对象:我们可以通过多种方式来设置Dependency属性的值。

public class TestDependencyProperty:DependencyObject
    
...{
        
public static readonly DependencyProperty IsDefaultProperty;
        
static Button btn = null;

        
static TestDependencyProperty()
        
...{
            TestDependencyProperty.IsDefaultProperty 
=
                DependencyProperty.Register(
"IsDefault"typeof(bool), typeof(TestDependencyProperty)
                , 
new FrameworkPropertyMetadata(falsenew PropertyChangedCallback(OnIsDefaultChanged)));
        }


        
public TestDependencyProperty(Button b)
        
...{
            btn 
= b;
        }


        
public bool IsDefault
        
...{
            
get ...return (bool)GetValue(TestDependencyProperty.IsDefaultProperty); }
            
set ...{ SetValue(TestDependencyProperty.IsDefaultProperty,value); }
        }


        
private static void OnIsDefaultChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        
...{
            
if (btn != null)
            
...{
                
if ((bool)e.NewValue)
                    btn.Background 
= new SolidColorBrush(Color.FromArgb(2556500));
                
else
                    btn.Background 
= new SolidColorBrush(Color.FromArgb(255,00222));
            }

        }

    }
 

struts2.3.4.1+spring3.1.1+hibernate3.6.10框架整合搭建,解决UnsatisfiedDependencyException

国庆宅家无聊,自己尝试搭一下SSH环境,没想到遇到了很多问题,查阅了很多资料,终于搞定了,小有成就感…… 环境: struts2.3.4.1+spring3.1.1+hibernate3.6.10...
  • lqclh502
  • lqclh502
  • 2012年10月04日 02:12
  • 29085

Unsatisfied dependency expressed through bean property 'dataSource'

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com...
  • thisisvoa
  • thisisvoa
  • 2012年12月12日 17:33
  • 4031

Dependency Property 依赖属性

依赖属性就是一种可以自己没有值,并能通过使用Binding从数据源获得值(依赖在别人身上)的属性。拥有依赖属性的对象称为“依赖对象”。 WPF开发中,必须使用依赖对象作为依赖属性的宿主,使二者结...
  • feilongzaitianhehe
  • feilongzaitianhehe
  • 2016年05月31日 16:00
  • 545

Dependency Property Overriew

1)The difference between CLR properties and Dependency PropertiesDP支持:Change Notification, Property ...
  • kissjob
  • kissjob
  • 2010年04月28日 10:12
  • 686

Silverlight:Dependency Property(依赖属性)

学习SL/WPF,Dependency Properties(依赖属性)是一个全新(陌生)但又无法回避的概念。 http://www.wpftutorial.net/Dependen...
  • jazywoo123
  • jazywoo123
  • 2012年04月17日 18:41
  • 372

Dependency property in WPF

/*by Jiangong SUN*/ XAML: eXtensible Application Markup Language Dependency property represe...
  • garcon1986
  • garcon1986
  • 2012年11月19日 05:45
  • 710

依赖属性Dependency Property

概述: Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能。这些服务通常统称为 WPF 属性系统。由...
  • csdn1161851523
  • csdn1161851523
  • 2017年10月12日 09:05
  • 59

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

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

Silverlight:Dependency Property(依赖属性)学习笔记

学习SL/WPF,Dependency Properties(依赖属性)是一个全新(陌生)但又无法回避的概念。http://www.wpftutorial.net/DependencyProperti...
  • Joetao
  • Joetao
  • 2010年07月29日 08:12
  • 787

Silverlight:Dependency Property(依赖属性)学习笔记

学习SL/WPF,Dependency Properties(依赖属性)是一个全新(陌生)但又无法回避的概念。http://www.wpftutorial.net/DependencyProperti...
  • canduecho
  • canduecho
  • 2010年04月30日 17:05
  • 324
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Dependency Property
举报原因:
原因补充:

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