DependencyProperty 类

定义

注意

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

一种特殊类型的属性,可以定义为或附加到 DependencyObject。 有三种类型的依赖属性:实例属性、元属性和附加属性。 此类不能被继承。

public ref class DependencyProperty sealed : System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class DependencyProperty : System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class DependencyProperty : System.Runtime.Serialization.ISerializable
[<System.Serializable>]
type DependencyProperty = class
    interface ISerializable
[<System.Serializable>]
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type DependencyProperty = class
    interface ISerializable
Public NotInheritable Class DependencyProperty
Implements ISerializable
继承
DependencyProperty
属性
实现

示例

下面的示例演示如何注册 DependencyProperty,以供 DependencyObject 使用。 此代码示例是“发送电子邮件 SDK”示例的一部分,来自 SendMailActivity.cs 文件。 有关详细信息,请参阅 “发送邮件活动”。

// Define the DependencyProperty objects for all of the Properties
// ...and Events exposed by this activity
public static DependencyProperty FromProperty = DependencyProperty.Register("From", typeof(string), typeof(SendEmailActivity), new PropertyMetadata("someone@example.com"));
public static DependencyProperty ToProperty = DependencyProperty.Register("To", typeof(string), typeof(SendEmailActivity), new PropertyMetadata("someone@example.com"));
' Define the DependencyProperty objects for all of the Properties 
' ...and Events exposed by me activity
Public Shared FromEmailProperty As DependencyProperty = DependencyProperty.Register("From", GetType(String), GetType(SendEmailActivity), New PropertyMetadata("someone@example.com"))
Public Shared ToProperty As DependencyProperty = DependencyProperty.Register("To", GetType(String), GetType(SendEmailActivity), New PropertyMetadata("someone@example.com"))

注解

备注

本材料讨论的类型和命名空间已废弃不用。 有关详细信息,请参阅 Windows Workflow Foundation 4.5 中弃用的类型

依赖属性支持三种用例。 第一种,如果活动的实例属性通过使用依赖属性来实现,则可以为该属性分配 ActivityBind 而不是实际值。 第二种,作为元数据的活动属性(即,不能在运行时更改该值)应通过使用依赖属性并指定 Metadata 选项来实现。 第三种,依赖属性支持附加属性。附加属性是动态应用到依赖对象的属性。

属性

DefaultMetadata

获取 PropertyMetadata,它表示此 DependencyProperty 的用户定义的数据。

IsAttached

获取一个属性,该属性指示此 DependencyProperty 是否通过注册与 DependencyObject 关联。

IsEvent

获取一个属性,该属性指示 DependencyProperty 是否是事件 Delegate

Name

获取 NameDependencyProperty

OwnerType

获取 TypeDependencyProperty

PropertyType

获取 Type 中存储的值的 DependencyProperty

ValidatorType

获取实现特定于 Type 的验证逻辑的 DependencyProperty

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FromName(String, Type)

获取基于 DependencyPropertyName 的已注册 OwnerType

FromType(Type)

创建属于特定 IListDependencyProperty 类型的 Type

GetHashCode()

返回此实例的哈希代码。

GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Register(String, Type, Type)

初始化 DependencyProperty 类的新实例,它根据输入参数将属性参数化。

Register(String, Type, Type, PropertyMetadata)

初始化 DependencyProperty 类的新实例,它根据输入参数将属性参数化。

RegisterAttached(String, Type, Type)

初始化 DependencyProperty 类的新实例,它根据输入参数将属性参数化。 此实例旨在声明在对象上使用的属性而不是所属类型的对象。

RegisterAttached(String, Type, Type, PropertyMetadata)

初始化 DependencyProperty 类的新实例,它根据输入参数将属性参数化。

RegisterAttached(String, Type, Type, PropertyMetadata, Type)

初始化 DependencyProperty 类的新实例,它根据输入参数将属性参数化。

ToString()

重写 Object 方法,从而返回 Name 属性值。

显式接口实现

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

使用序列化目标对象时所需的数据填充 SerializationInfo

适用于