2012-07-25 105 views
1

旧的System.ComponentModel提供了一个DefaultValueAttribute,它应用于某个属性时,将其标记为在Windows窗体设计器等工具中具有默认值。为InArgument提供默认值<T>

在WPF/Workflow Foundation世界中是否存在等价的属性?以下内容不能按预期工作:

[DefaultValue('|')] // From System.ComponentModel 
public InArgument<char> ColumnSeparator { get; set; } 

WPF设计器忽略此属性声明。

回答

1

相当于执行IActivityTemplateFactory,并在Create方法中设置所有的默认值。

您可以让您的活动执行此操作,以防止大惊小怪。

public sealed class MyActivity : NativeActvity, IActivityTemplateFactory 
{ 
    public Activity Create(DependencyObject target) { /*...*/ } 
    // snip 

使用此方法进行配置/初始化可以帮助您避免尝试初始化活动时可能遇到的所有不正常情况。您还可以在该设计表面上执行一次强制转换,并从设计界面的工作流程状态(例如自动绑定到属性)中获取所需的所有内容。

IActivityTemplateFactory功能非常强大。它不仅限于添加单个活动。地狱,你可以投入一个完整的组装,可以说,一个工作流程。它的好东西。

相关问题