[WPF/Silverlight]简单说下CLR Property与WPF Dependency Property的区别

简介:

总所周知,在.Net框架下要实现某些特定功能通常都会有n种不同的方式,使用“属性(Property)”就是其中之一。你既可以使用CLR Property也可以使用Dependency Property。

如果你对这两样东西尚不熟悉的话,就让我们先来简单的介绍一下它们。先来瞧瞧我们在.Net中最经常使用的CLR Property:

public string AuthorName
{
    get;
    set;
}

嗷嗷熟悉吧?

Dependency Properties是几年前在WPF中提出的概念,后来被顺延到Silverlight中(WPF/E嘛)。

public static readonly DependencyProperty AuthorNameProperty = DependencyProperty.Register("AuthorName", typeof(string), typeof(Page), new PropertyMetadata(""));

CLR Porperty明显更有通俗易懂,至少它比较好记。相比之下即使对于一个WPF或Silverlight老手来说,要学习声明一个DependencyProperty也要麻烦的多了。

不过抛开这个不说,DependencyProperty要比传统的CLR Property提供更多的功能,它可以为一段动画、数据关联、资源存储等设置属性。要了解更多,请看这篇文章

我们可以通过在Blend中通过“生成属性”的功能观察这两种属性的不同从而对其进行一个大概的了解。比如生成一个CLR Property时:

如图,很多命令选项被灰显禁用,下面看看Dependency Property

如图,它不但保留了CLR Property的所有功能,而且还增加了转换成资源以及数据关联的支持,当然操作一段动画也不在话下。

 

起立,鼓掌,下回见!










本文转自紫色永恒51CTO博客,原文链接:http://www.cnblogs.com/024hi/archive/2009/02/20/1395192.html ,如需转载请自行联系原作者

相关文章
WPF-Binding问题-模板样式使用Binding TemplatedParent与TemplateBinding区别
WPF-Binding问题-模板样式使用Binding TemplatedParent与TemplateBinding区别
259 0
|
C# 前端开发 数据安全/隐私保护
WPF QuickStart系列之附加属性(Attached Property)
原文:WPF QuickStart系列之附加属性(Attached Property) 这一篇博客是关于如何使用附加属性和创建自定义附加属性的。 1. 附加属性使用, WPF中对附加属性使用最多的莫过于对控件布局时设置控件的位置,例如在Canvas中有一个Rectangle, Ellipse, ...
1030 0
|
C#
WPFのclipToBounds与maskToBounds的区别
原文:WPFのclipToBounds与maskToBounds的区别 UIView.clipsToBounds : 让子 View 只显示父 View 的 Frame 部分,子视图超出frame的部分不显示,默认为NO,设置为YES就会把超出的部分裁掉; maskToBounds : 是 CALayer 的属性,基于 View  的不少属性其实就是作用于 CALayer 的,子图层是否剪切图层边界,默认为NO UIView.layer.maskToBounds = YES 与 UIView.clipToBounds = YES 的效果是一样的。
1165 0
|
C# 前端开发
WPF,SilverLight中直线的样式示例
原文:WPF,SilverLight中直线的样式示例 XAML代码:// LineStyle.xaml                                                           ...
718 0
|
C# 前端开发
silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发) 前面我们画了一只会飞动的小鸟,今天我们在目标是一个会发光的太阳。本章节的动画虽然简单,但是实现的效果可是一点也不打折。
1186 0
|
C#
silverlight,WPF动画终极攻略之会飞的小鸟篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之会飞的小鸟篇(Blend 4开发) 本教程基本涵盖了WPF和silverlight中的各种动画。先上张效果图。 声明下,这个做的不是让大家照搬的,只是让大家熟悉下动画效果,这个成品基本涵盖了sl里面所有的动画效果。
1399 0
|
C#
silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发) 有个问题想请教下大家,我仿了腾讯的SL版QQ,相似度95%以上。我想写成教程教大家怎么开发出来,会不会有版权什么问题的。
1150 0
|
前端开发 C#
silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之白云飘,坐车去旅游篇(Blend 4开发) 这章有点长,所以我分成了两章。这一章主要是准备工作,差不多算美工篇吧,这章基本不会介绍多少动画效果,主要讲的是blend中工具的使用,利用哪些工具做出哪些效果。
1254 0
|
前端开发 C#
silverlight,WPF动画终极攻略之番外 3D切换导航篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之番外 3D切换导航篇(Blend 4开发) 这篇介绍的是3D导航,点击图标,页面360°翻转的效果!有什么不足的欢迎大家指出来。 1.新建一个usercontrol,命名为menu. 2.按照下图设置一下属性。
1248 0