zoukankan      html  css  js  c++  java
  • 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);
                }
            }


  • 相关阅读:
    tensorflow 计算图模型的保存和恢复
    Python 小项目
    一些Python代码
    Anaconda 创建的新环境的位置, 解决pycharm中不能访问numpy的问题, conda命令 、设置镜像源、解决jupyter启动新环境kernel问题
    gdb调试程序
    一个完整的Makefile文件举例
    机器学习 Coursera Note
    2018年第九届蓝桥杯 第九题:全球变暖(满分23分)
    2018年第九届蓝桥杯 第八题:日志统计(满分21分)
    2018年第九届蓝桥杯 第七题:螺旋折线(满分19分)
  • 原文地址:https://www.cnblogs.com/scottckt/p/1857980.html
Copyright © 2011-2022 走看看