• WF:要想绑到两个活动的属性值依赖属性的定义方法


    WF中依赖属性特点:        

      依赖属性是属性值存储在一个中央存储库中。而不是实现为类中的普通实例变量。

      依赖属性的主要优势在于允许在运行时绑定属性值到实例数据。绑定所产生的属性实际值则是在运行时确定的。

      要想绑到两个活动的属生时,就需要使用依赖项属性。

    WF中依赖属性定义的方法:

      定义某属性的依赖属性,需要用此“属性名”+“Property”的方式定义依赖属性,否则会出错。如下边代码给出了正确与错误的定义方法,可以对比一下。

    正确定义方法:

             //正确
            public static DependencyProperty AccountIdProperty =
               System.Workflow.ComponentModel.DependencyProperty.Register("AccountId"
               
    typeof(Int32), typeof(ValidateAccountActivity));

            
    /// <summary>
            
    /// 定单账户
            
    /// </summary>
            [Description("Identifies the account")] //可视化设计器在引用组件成员时可以显示指定的说明
            [Category("CodeActive Example")]        //用于给属性或事件分组的类别的名称。
            [Browsable(true)]                       //指定一个属性 (Property) 或事件是否应显示在“属性”窗口中。
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]  //指定在设计时序列化组件上的属性 (Property) 时所使用的持久性类型。
            public Int32 AccountId
            {
                
    get
                {
                    
    return ((Int32)(base.GetValue(Workflow1.AccountIdProperty)));
                }
                
    set
                {
                    
    base.SetValue(Workflow1.AccountIdProperty, value);
                }
            }

     错误定义方法:

            //错误
            public static DependencyProperty AccountNamePperty =
              System.Workflow.ComponentModel.DependencyProperty.Register(
    "AccountName"
              
    typeof(Int32), typeof(ValidateAccountActivity));

            [Description(
    "Identifies the accout")]
            [Category(
    "Custom Activity Example")]
            [Browsable(
    true)]
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
            
    public Int32 AccountName
            {
                
    get
                {
                    
    return ((Int32)(base.GetValue(ValidateAccountActivity.AccountNamePperty)));
                }
                
    set
                {
                    
    base.SetValue(ValidateAccountActivity.AccountNamePperty, value);
                }
            }
  • 相关阅读:
    salesforce rest api 登录 | Authenticating to Salesforce using REST, OAuth 2.0 and Java
    unknown chromium error 400
    项目管理 status email
    项目管理 管理的是什么?
    java 访问 salesforece rest api
    高质量的软件是否值得付出代价?Martin Flower
    Python 3 os.walk使用详解
    体验Managed Extensibility Framework精妙的设计
    分享插件平台相关的源码分析——SharpDevelop、Composition Application Block、Eclipse OSGi、ObjectBuilder
    分享一个与硬件通讯的分布式监控与远程控制程序的设计(上:自动升级与异步事件)
  • 原文地址:https://www.cnblogs.com/soundcode/p/1922310.html
Copyright © 2020-2023  润新知