C# 什么是依赖属性?它有什么用?

C# 什么是依赖属性?它有什么用?,c#,.net,wpf,silverlight,dependency-properties,C#,.net,Wpf,Silverlight,Dependency Properties,可能性: 什么是依赖属性?它与普通房产有何不同?依赖属性的用途是什么?当使用它时,为什么要使用它?如果您谈论的是具有属性的属性(如Microsoft.Practices.Unity中定义的) 然后由Unity框架将其用于依赖项注入(DI)。基本上,属性值由DI框架在运行时设置,而不是直接在代码中设置 但是,System.Runtime.CompilerServices中定义了另一个属性。请更新您的问题,您指的是哪一个。将它们的值存储在类之外,这样就可以将属性分配给对象,而无需更改对象的类。它们

可能性:


什么是依赖属性?它与普通房产有何不同?依赖属性的用途是什么?当使用它时,为什么要使用它?

如果您谈论的是具有属性的属性(如Microsoft.Practices.Unity中定义的)

然后由Unity框架将其用于依赖项注入(DI)。基本上,属性值由DI框架在运行时设置,而不是直接在代码中设置


但是,
System.Runtime.CompilerServices
中定义了另一个属性。请更新您的问题,您指的是哪一个。

将它们的值存储在类之外,这样就可以将属性分配给对象,而无需更改对象的类。它们还支持WPF中常见的情况,即对象可能有很多属性,但只有少数具有非默认值。依赖项属性可以有默认值,因此可以减少内存使用。还有更多内容,请阅读文章:关于MSDN。

依赖性属性:由支持的属性

依赖属性的目的是提供一种基于其他输入的值计算属性值的方法

这些其他输入可能包括系统属性(如主题和用户首选项)、即时属性确定机制(如数据绑定和动画/情节提要)、多用途模板(如资源和样式)或通过与元素树中其他元素的父子关系已知的值

它具有以下功能:

  • 可以在样式中设置特性

  • 属性可以通过数据绑定进行设置

  • 可以使用动态资源引用设置该属性

  • 属性可以自动从元素树中的父元素继承其值

  • 该属性可以设置动画

  • 当属性的上一个值已更改并且可以强制该属性值时,该属性可以报告

  • 属性向WPF报告信息,例如更改属性值是否需要布局系统重新组合元素的视觉效果

  • 该属性在WPF Designer for Visual Studio中获得支持。例如,可以在“特性”窗口中编辑特性

(内容摘自MSDN)

我认为可以为您提供更多信息

据我所知,依赖性属性依赖于其他值

依赖项属性的用途 是提供一种计算 基于值的属性的值 其他输入。这些其他输入 可能包括系统属性,例如 作为主题和用户偏好, 实时性判定 数据绑定和 动画/故事板,多种用途 模板,如资源和 样式,或通过 与他人的亲子关系 元素树中的元素。在里面 此外,依赖项属性可以是 实现以提供自包含的 验证、默认值、回调 该监视器将更改为其他监视器 属性,以及可以 强制基于属性的属性值 潜在的运行时信息。 派生类也可以更改某些 A.一个国家的具体特征 通过重写现有属性 而不是依赖属性元数据 而不是覆盖实际的 现有财产的实施 或创建新属性


不,我说的是WPF/SilverlightAh中的依赖性属性,那么我不确定。我会更新你的问题来强调这一点。为什么问号不是wpf呢?对不起。当然我以后会更正:-)请修改拼写。如果你搜索引人入胜的内容,会有很多信息,实际上有人回滚了自动编辑。
[Dependency]
public string MyProperty { get; set; }