最近开始弄WF的无代码开发模式,配置文件已经写完了,用XML解析流程图已经显示完毕,但是在宿主程序中加载XOML文件生成工作流实例时,却说"handleExternalEventActivity1"没有设置InterfaceType属性,可配置文件里我明明设置了该属性了啊,并且设置属性的值,我也添加了对应的程序集引用,查了一天了,毫无头绪,那位大哥帮忙指点下,谢谢!不胜感激!
配置文件大致代码如下:<?xml version="1.0" encoding="utf-8"?>
<ns0:CaryBaseWorkflow 
InitialStateName="提交" 
x:Name="状态机工作流" 
CompletedStateName="结束" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow"
xmlns:ns0="clr-namespace:WorkflowMY;Assembly=WorkflowMY"
> <StateMachineWorkflowActivity.DynamicUpdateCondition>
<RuleConditionReference ConditionName="启用" />
</StateMachineWorkflowActivity.DynamicUpdateCondition>
<WorkflowChanges.Condition>
<RuleConditionReference ConditionName="启用" />
</WorkflowChanges.Condition>
<StateActivity x:Name="提交">
<EventDrivenActivity x:Name="eventDrivenActivity1">
<HandleExternalEventActivity x:Name="handleExternalEventActivity1" InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}"  EventName="SubEvent" />
<CallExternalMethodActivity x:Name="callExternalMethodActivity1" InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}" MethodName="Sub1" />
<SetStateActivity x:Name="setStateActivity1" TargetStateName="部门审核" />
</EventDrivenActivity>
</StateActivity>
<StateActivity x:Name="结束" />
<StateActivity x:Name="部门审核">
<EventDrivenActivity x:Name="eventDrivenActivity2">
<HandleExternalEventActivity x:Name="handleExternalEventActivity2"  InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}"  EventName="DepAudtingEvent"/>
<CallExternalMethodActivity x:Name="callExternalMethodActivity2" InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}" MethodName="Sub1" />
<SetStateActivity x:Name="setStateActivity2" TargetStateName="主管部门审核" />
</EventDrivenActivity>
</StateActivity>
<StateActivity x:Name="主管部门审核">
<EventDrivenActivity x:Name="eventDrivenActivity3">
<HandleExternalEventActivity x:Name="handleExternalEventActivity3" InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}"  EventName="MainDepAudtingEvent" />
<CallExternalMethodActivity x:Name="callExternalMethodActivity3" InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}" MethodName="Sub1" />
<SetStateActivity x:Name="setStateActivity3" TargetStateName="保密办审核" />
</EventDrivenActivity>
</StateActivity>
<StateActivity x:Name="保密办审核">
<EventDrivenActivity x:Name="eventDrivenActivity4">
<HandleExternalEventActivity x:Name="handleExternalEventActivity4"  InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}"  EventName="SecrecyOfficeAudtingEvent"/>
<CallExternalMethodActivity x:Name="callExternalMethodActivity4" InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}" MethodName="Sub1" />
<IfElseActivity x:Name="ifElseActivity1">
<IfElseBranchActivity x:Name="ifElseBranchActivity1">
<IfElseBranchActivity.Condition>
<RuleConditionReference ConditionName="启用" />
</IfElseBranchActivity.Condition>
<SetStateActivity x:Name="setStateActivity4" TargetStateName="所领导审核" />
</IfElseBranchActivity>
<IfElseBranchActivity x:Name="ifElseBranchActivity2">
<SetStateActivity x:Name="setStateActivity7" TargetStateName="发送" />
</IfElseBranchActivity>
</IfElseActivity>
</EventDrivenActivity>
</StateActivity>
<StateActivity x:Name="所领导审核">
<EventDrivenActivity x:Name="eventDrivenActivity5">
<HandleExternalEventActivity x:Name="handleExternalEventActivity5"  InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}" EventName="LeadAudtingEvent" />
<SetStateActivity x:Name="setStateActivity5" TargetStateName="发送" />
</EventDrivenActivity>
</StateActivity>
<StateActivity x:Name="发送">
<EventDrivenActivity x:Name="eventDrivenActivity6">
<HandleExternalEventActivity x:Name="handleExternalEventActivity6" InterfaceType="{x:Type WorkflowMY.MediumWork.InterfaceMedium}"  EventName="SendEvent" />
<SetStateActivity x:Name="setStateActivity6" TargetStateName="结束" />
</EventDrivenActivity>
</StateActivity>
</ns0:CaryBaseWorkflow>