博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WF:要想绑到两个活动的属性值---依赖属性的定义方法
阅读量:6793 次
发布时间:2019-06-26

本文共 1578 字,大约阅读时间需要 5 分钟。

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);
            }
        }
分类: 
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2010/12/30/1922310.html,如需转载请自行联系原作者
你可能感兴趣的文章
Linux 有问必答:如何在 Linux 中永久修改 USB 设备权限
查看>>
《第三方JavaScript编程》——7.2 跨站脚本
查看>>
《师兄教你找工作——100场面试 20个offer背后的求职秘密》一导读
查看>>
为PetaPoco添加Fill方法
查看>>
哈哈,找到一种方式来简单模拟EXTJS中与服务器的AJAX交互啦。
查看>>
[WinForm]DataGridView列头右键菜单
查看>>
swing中定时启动的实现
查看>>
Spring IO Platform
查看>>
Hbase协处理器coprocessor
查看>>
json,serialize,msgpack比较
查看>>
javaweb异常提示信息统一处理(使用springmvc,附源码)
查看>>
Java同步块
查看>>
关于java字节码框架ASM的学习
查看>>
深入浅出: Java回调机制(异步)
查看>>
Fork/Join框架(六)取消任务
查看>>
高可用Hadoop平台-HBase集群搭建
查看>>
iOS开发之网络编程--使用NSURLConnection实现大文件下载
查看>>
linux安装AWStats业务数据分析工具
查看>>
【SICP练习】12 练习1.18
查看>>
Error establishing a database connection 的解决方法(发现黑客入侵)
查看>>