在Windows Workflow Foundation 3.x中,您曾经能够创建一个BaseWorkflow类,您可以在该类中定义该工作流中的某些属性。
然后,当您创建工作流时,您可以说它派生自BaseWorkflow类,因此它继承了基础工作流中的所有属性。
我们可以在Windows Workflow Foundation 4(WF 4)中实现相同的功能吗?就像在BaseActivity上定义InArgument和OutArgument一样,然后创建另一个派生自BaseActivity的Activity。
我尝试修改XAML,让我们说< Activity>< / Activity>喜欢< BaseActivity>< / BaseActivity> ......这就是我们在WF 3.x中做到的方式。
它似乎不适用于WF 4。
答案 0 :(得分:2)
找到了解决方案。这实际上非常简单。由XAML声明生成的类标记为partial
,因此您可以为您的活动(工作流)基础创建一个类(也标记为partial
)。然后在XAML中,只需将活动的class属性更改为刚刚创建的类的完整命名空间。
基本活动示例:
public partial class OurBaseWorkflow : Activity
{
public InArgument<string> StandardInput { get;set; }
}
XAML示例:
<p:Activity x:Class="MyNamespace.OurBaseWorkflow"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
...
</p:Activity>
使用此方法,您可以在基类上定义in和out参数,并且它们也会显示在派生活动中。
答案 1 :(得分:0)
是的,您可以创建BaseActivity
并定义其InArguments和OutArguments。然后,您可以创建一个新类,比如Activity1:BaseActivity
,它仍然有BaseActivity
的InArguments和OutArguments