在SharePoint Workflow方面,DependancyProperty是什么?

时间:2011-01-06 04:54:46

标签: sharepoint workflow-foundation sharepoint-workflow

我最近一直在使用SharePoint 2010中的SharePoint Workflow。在创建Task活动时,我通常会从后面的工作流代码中创建任务。

 CreateTask task = sender as CreateTask;
 task.TaskId = Guid.NewGuid();

 SPWorkflowTaskProperties wtp = new SPWorkflowTaskProperties();
 wtp.PercentComplete = (float)0.0;
 wtp.AssignedTo = "DOMAIN\USER_DomainID"

我在Workflow设计器中看到,对于CreateTask活动属性页面,您也可以将SPWorkflowTaskProperties设置为Field或Property。当我们将此属性创建为Property时,它会创建DependancyProperty。我不确定何时使用Field以及何时使用Property?每个选项有什么用?有人可以解释一下吗?

1 个答案:

答案 0 :(得分:2)

也许这会有所帮助:Using Dependency Properties (WF)

简而言之,依赖属性是类固醇的属性。它们支持更改通知,值继承,默认值,数据绑定,强制,动画等等。理论上无论如何都是。

工作流基础(顺便说一下,在.NET 4中被完全废弃并替换 - 因此SharePoint 2010工作流基于废弃的技术)做了一个完全愚蠢的行动并重新发明了为WPF创建的整个依赖属性系统。这就是为什么如果在MSDN中搜索DependencyProperty,您将在两个不同的命名空间/程序集中看到两个不同的条目。工作流程版本比WPF版本更受限制,并且它们根本不可互换。

但要回答你的问题,你不应该直接使用该字段。始终浏览包装依赖项属性字段的CLR属性。