【发布时间】:2026-02-12 22:00:01
【问题描述】:
我有基本的工作流程,里面有复制器活动。 Replicator 包含我的自定义序列活动,其中包含标准创建任务 --> ontaskchanged --> 完整任务序列。
现在:任务已创建并且可以毫无问题地完成。问题是我找不到获得已完成任务价值的方法。是批准还是拒绝?
请提供几行复制器的 ChildCompleted 事件的代码,以从 Sequence 活动实例(或任何其他方式)中获取任何内容。
谢谢
更新:似乎为了在工作流实例之间交换值,您需要使用DependencyProperty。所以这里的解决方案是:
1) 将 DependencyProperty 添加到父工作流并添加用于存储值的属性,如下所示:
public static DependencyProperty childStatusProperty =
System.Workflow.ComponentModel.DependencyProperty.Register("childStatus",
typeof(string), typeof(parentWorkflowTypeName));
public string childStatus
{
get
{
return (string)base.GetValue(childStatusProperty);
}
set
{
base.SetValue(childStatusProperty, value);
}
}
2) 在自定义序列活动中访问父实例并使用定义的 DependencyProperty 将属性设置为如下值:
private void completeTask1_MethodInvoking(object sender, EventArgs e)
{
var replicator = this.Parent;
var workflowParent = (parentWorkflowTypeName)replicator.Parent;
workflowParent.childStatus = "my custom status value";
}
3) 使用普通属性读取该值:
//from parent workflow
string status = childStatus;
【问题讨论】:
标签: sharepoint workflow