【问题标题】:What is a dependency property? What is its use? [duplicate]什么是依赖属性?它的用途是什么? [复制]
【发布时间】:2011-03-22 11:17:32
【问题描述】:

可能性:
What is a dependency property?

什么是依赖属性?它与普通财产有何不同?依赖属性的目的是什么?以及为什么使用它,何时使用?

【问题讨论】:

  • 请修正拼写。
  • 搜索dependency-properties wpf有很多信息
  • 令人着迷的是,居然有人回滚了自动编辑。

标签: c# .net wpf silverlight dependency-properties


【解决方案1】:

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

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

这些其他输入可能包括系统属性(例如主题和用户偏好)、即时属性确定机制(例如数据绑定和动画/故事板)、多用途模板(例如资源和样式)或通过父级已知的值-与元素树中其他元素的子关系。

它具有以下功能:

  • 可以在样式中设置属性。

  • 可以通过数据绑定来设置属性。

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

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

  • 该属性可以设置动画。

  • 该属性可以报告何时该属性的先前值已​​更改并且可以强制该属性值。

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

  • 该属性在 Visual Studio 的 WPF 设计器中获得支持。例如,可以在“属性”窗口中编辑属性。

(内容取自 MSDN)

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      据我了解,依赖属性依赖于其他值。

      依赖属性的用途 是提供一种计算方法 基于价值的财产价值 其他输入。 这些其他输入 可能包括系统属性,例如 作为主题和用户偏好, 即时财产确定 数据绑定等机制 动画/故事板,多用途 模板,例如资源和 样式或值通过 与他人的亲子关系 元素树中的元素。在 此外,依赖属性可以是 实施以提供独立的 验证、默认值、回调 监控其他人的变化 属性,以及一个系统,可以 强制属性值基于 潜在的运行时信息。 派生类也可以改变一些 一个特定的特征 通过覆盖现有属性 依赖属性元数据,而不是 而不是覆盖实际 现有属性的实现 或创建新属性。

      【讨论】:

        【解决方案4】:

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

        [Dependency]
        public string MyProperty { get; set; }
        

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

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

        【讨论】:

        • 不,我说的是 WPF/Silverlight 中的依赖属性
        • 啊,那我不确定。我会更新您的问题以突出显示这一点。
        • 那为什么问号不是wpf呢?
        • 对不起。当然我将来会更正:-)
        猜你喜欢
        • 1970-01-01
        • 2010-10-11
        • 2015-08-07
        • 1970-01-01
        • 2011-07-08
        • 2011-09-03
        • 1970-01-01
        • 2017-11-18
        相关资源
        最近更新 更多