• 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);
                }
            }
  • 相关阅读:
    在日期选择轮中选择的时间转换成年龄
    字符串转换成NSDate类型的 为nil解决方法
    字符串与数组互转
    使用ASI传递post表单..参数是数组
    java synchronized的四种用法
    java 多线程实现的四种方式
    java 高性能Server —— Reactor模型单线程版
    java nio socket使用示例
    java.nio.Buffer 中的 flip()方法
    java NIO 详解
  • 原文地址:https://www.cnblogs.com/soundcode/p/1922310.html
Copyright © 2020-2023  润新知