使用活动属性

有两种类型的活动属性:“元数据属性”和“实例属性”。 元数据属性在运行时是不可变的。 因此,在设计时必须将属性设置为文本值。 实例属性可以在设计时设置,也可以绑定到实例数据,在后一种情况下要到运行时才能确定实际值。 也可以直接在工作流执行过程中修改实例属性。

实现实例属性时,可以按通常的 .NET Framework 类属性的实现方式来实现,也可以使用依赖项属性来实现。 只有选择使用依赖项属性来实现时,才可以将其值设置为 ActivityBind,以便绑定到运行时访问的实际值。 有关依赖项属性的更多信息,请参见使用依赖项属性

备注

如果属性来自接口,请使用显式实现,否则编译器将会引发目标调用异常。 请注意,显式实现某个属性时,该属性不能通过类实例进行访问,而只能通过接口的实例进行访问。

备注

活动属性中使用的所有类型都必须标记为可序列化。

属性 (Property) 属性 (Attribute)

自定义活动开发人员在活动类中定义属性 (Property) 时,必须对一组属性 (Attribute) 有所了解。 Windows Workflow Foundation ValidationOptionAttribute 类型用于简化对活动的元数据属性值进行自动验证。 这也意味着,为基于实例的依赖项属性设置的任何 ValidationOptionAttribute 值将被 DependencyObjectValidator 忽略。

下表列出了 System.Workflow.ComponentModel 命名空间中的相关 .NET Framework 属性。

属性 说明

BrowsableAttribute

指定属性是否应在“属性”窗口(通常在 Visual Studio 中)中显示。

DefaultValueAttribute

指示应如何解释属性值。 这并不意味着,属性 (property) 将会自动初始化为由属性 (attribute) 指定的值。 例如,在自定义活动中,如果将属性的值设置为默认值,则该属性不会在代码或标记中序列化。

DesignerSerializationVisibilityAttribute

允许您指示属性 (Property) 值为 Visible 并且应持久化,或者为 Hidden 并且不应持久化,还是由 Content(包含为分配给属性的对象的每个公共(非隐藏)属性生成的实例化代码)组成。

EditorAttribute

当编辑属性时,可视化设计器应该通过对话框或下拉窗口来创建指定编辑器的新实例。

ParenthesizePropertyNameAttribute

向“属性”窗口指示关联的属性名称是否应由括号括起来。 “属性”窗口将以字母顺序模式在列表顶部附近显示由括号括起来的属性名称,如果“属性”窗口处于分类模式,则显示在其类别顶部附近。

MergablePropertyAttribute

标记为 true 的属性可以与属于“属性”窗口中的其他对象的属性组合在一起;标记为 false 的属性必须单独显示。 默认值为 true

RefreshPropertiesAttribute

指示当关联的属性值发生更改时,设计器应如何进行刷新。

TypeConverterAttribute

指定对于此属性绑定到的对象要使用哪种类型作为转换器。

警告

代码分离的工作流不支持 Hashtable 类型的活动属性。

本节内容

使用依赖项属性

请参见

概念

创建自定义活动
创建自定义活动

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。