社区
WPF/Silverlight
帖子详情
依赖属性到底是什么?为什么要用依赖属性?
s_111111
2010-11-12 01:15:06
RT。希望能给个简而明了的回答。
...全文
961
11
打赏
收藏
依赖属性到底是什么?为什么要用依赖属性?
RT。希望能给个简而明了的回答。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Mark1-
2011-09-14
打赏
举报
回复
透彻了才知道有什么用。
海涵德
2010-11-13
打赏
举报
回复
不一定要把概念搞得太透,会使用就可以了。
海涵德
2010-11-13
打赏
举报
回复
在动画代码中使用较多。
海涵德
2010-11-13
打赏
举报
回复
依赖属性主要是在代码中操作和使用样式。
绿色夹克衫
2010-11-13
打赏
举报
回复
个人感觉就是方便用数据驱动UI
dui_cky
2010-11-12
打赏
举报
回复
依赖属性,简单的来说,就是 你拖一个控件出来,属性栏里面的东西(如:text,background==),使用起来比较节省内存。
依赖项属性的用途在于提供一种方法来基于其他输入的值计算属性值。这些其他输入可以包括外部属性(如用户首选项)、实时属性确定机制(如数据绑定和动画/演示图板)、重用模板(如资源和样式)或者通过与对象树中其他元素的父子关系而获取的值。此外,实现依赖项属性还可以提供可将更改传播到其他属性的回调。
对于属于 DependencyObject 并以某种方式在 UI 中可见的 Silverlight 类型,由于该对象的大部分可设置属性都是依赖项属性,因此这些类型可以支持动画。对于 FrameworkElement 派生类型,依赖项属性还可以支持绑定(作为目标)和样式设置。虽然出于 WPF 兼容性的原因而使有些只读属性仍然是作为依赖项属性来实现的,但只读属性是依赖项属性的可能性非常小。对于 DependencyObject 上的某个可设置属性不是依赖项属性这种不常见的情况,该属性将无法支持动画。同样,FrameworkElement 上不是依赖项属性的某个可设置属性将不能是绑定目标,也不能由样式来设置。
如何定义:
public static readonly DependencyProperty IsSpinningProperty =
DependencyProperty.Register(
"IsSpinning", typeof(Boolean),
typeof(SilverlightExampleClass), null
);
public bool IsSpinning
{
get { return (bool)GetValue(IsSpinningProperty); }
set { SetValue(IsSpinningProperty, value); }
}
不懂的可以加我QQ,454162034
s_111111
2010-11-12
打赏
举报
回复
例子不错。能再多说些就更好了?能否有个比较全面的例子,能讲到大部分依赖属性的特性。
xinzhulu
2010-11-12
打赏
举报
回复
1
这个就是依赖属性系统的功能了.
其实在依赖属性内部有一个静态字典列表.以键值对的形式("属性名","值")保存着所有依赖属性及其属性的默认值.
如果我们去取值的话:
Color col = Button.BackColor(假设这个属性是没有重新赋值,用的是默认值)
这就是从那个字典表中根据属性名,取出对应的属性值.
但是如果有多少对象对一个依赖属性赋予了不同的值怎么办????
在依赖属性系统里还有一个值字典表,这个字典表维护了不同对象名使用的依赖属性和属性值.
程序在运行时,如果你修改了一个依赖属性的值,那么依赖属性系统会把这些对象名,属性名和属性值放入值字典表中.
xinzhulu
2010-11-12
打赏
举报
回复
现在,我们如果采用静态属性好不好???
大家都知道,静态成员是类成员,不管你实例化多少个对象,静态成员数量是不会增加的,那么是不是很省内存空间咧????? 肯定的.....
那好,我们现在实例化五个对象,每个对象都去使用同一个依赖属性,那会怎么样??
比方说,
Button1.BackColor = Colors.Red;
Button2.RackColor= Colors.Blue;
.......................
这里BackColor 是依赖属性(静态数据成员).....
你一定会想,静态成员在内存中只有独一份,如果五次修改这个成员的值,那么最终保存下来的只有最后一个赋值????
xinzhulu
2010-11-12
打赏
举报
回复
依赖属性也是属性.但和我们平常认为 的属性不一样,就是这个依赖属性是静态成员.
我们可以想象,在没有依赖属性之前,有一个类从父类继承十个属性,自已也有十个属性.就是二十个属性了.如果我们在程序中实例这个类,搞五个对象出来.那么运行时会分配一百个属性的空间,来容纳.
但是其中大部分属性都在编程时,都没有去修改属性值. 使用的都是父类或本类的初始时的默认值.
这样比较浪费内存空间.
比如我们在界面上拖五个按钮. 每个按钮都八,九十个属性, 但你的代码中去使用了多少个咧???这个你知道的....
WPF经典教程之
依赖
项
属性
和路由事件
Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR)
属性
的功能。这些服务通常统称为 WPF
属性
系统。由 WPF
属性
系统支持的
属性
称为
依赖
项
属性
。本概述介绍 WPF
属性
系统以及
依赖
项
属性
的功能,这包括如何在可扩展应用程序标记语言 (XAML) 中和代码中使用现有的
依赖
项
属性
。..... (更多资源:http://cleopard.download.csdn.net/) (福利:http://xuemeilaile.com/) WPF经典教程之WPF体系结构 http://download.csdn.net/detail/cleopard/7999393 WPF经典教程之WPF应用程序管理 http://download.csdn.net/detail/cleopard/8002969 WPF经典教程之WPF窗体 http://download.csdn.net/detail/cleopard/8002979 WPF经典教程之StackPanel、WrapPanel、DockPanel布局 http://download.csdn.net/detail/cleopard/8002985 WPF经典教程之Grid、UniformGrid布局 http://download.csdn.net/detail/cleopard/8002993 WPF经典教程之Canvas、InkCanvas布局 http://download.csdn.net/detail/cleopard/8002997 WPF经典教程之WPF控件模型 http://download.csdn.net/detail/cleopard/8002999 WPF经典教程之WPF控件内容模型 http://download.csdn.net/detail/cleopard/8003009 等。。。。
syrinj, Unity3D的简单
依赖
注入.zip
syrinj, Unity3D的简单
依赖
注入 Syrinj 轻量级
依赖
注入 &方便
属性
发布 1.1.1可用 ! (8/1/16)目录简介示例设置这是什么?为什么使用这个?文档文档扩展示例方便
属性
注入
属性
注释故障排除简介示例方便
WPF基础——
依赖
属性
大家都知道WPF带来了很多新的特性,其中一个就是引入了一种新的
属性
机制——
依赖
属性
。
依赖
属性
出现的目的是用来实现WPF中的样式、自动绑定及实现动画等特性。
依赖
属性
的出现是WPF这种特殊的呈现原理派生出来的,与.NET普通
属性
不同的是,
依赖
属性
的值是依靠多个提供程序来判断的,并且其具有内建的传递变更通知的能力。
依赖
属性
基本应用在了WPF的所有需要设置
属性
的元素。
依赖
属性
根据多个提供对象来决定它的值...
WPF中的
依赖
属性
与附加
属性
一、
依赖
属性
的意义和实现 在我开始使用WPF进行界面的开发过程中,遇到了这样一个问题:在MVVM框架下,有时需要让某一个控件从后台代码中获取某个数据,但是当这个控件又没有现成的
属性
可以binding的时候该怎么办呢 ?为了解决这个问题,我最后使用了自定义
依赖
属性
的方法,通过这次测试与实践,也让我对WPF中经常使用的Binding有了更加深入的认识。 首先
依赖
属性
的作用:作为一种特殊的
属性
,可以通过绑定数据的方式获得数据,因此可以不需要一个私有字段作为数据源,从而节省了内存空...
WPF
依赖
项
属性
、共享
依赖
项
属性
、附加
属性
导语 今天用到WPF
依赖
项
属性
,距上次看已经过来很长时间,故今天复习下做个笔记,同时希望能帮助到要学习WPF
依赖
项
属性
的陪朋友。
依赖
项
属性
依赖
项
属性
是WPF架构中用C#在标准C#基础
属性
上做的封装。
依赖
项
属性
是WPF样式、动画、数据绑定等的基础,可以说如果没有
依赖
项
属性
就没有WPF的样式、动画、数据绑定等灵活的应用。
依赖
项
属性
必须在继承DependencyObject的类中声名。好在...
WPF/Silverlight
8,755
社区成员
12,029
社区内容
发帖
与我相关
我的任务
WPF/Silverlight
WPF/Silverlight相关讨论
复制链接
扫一扫
分享
社区描述
WPF/Silverlight相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章