none
求教:关于XOML中Invoked执行的问题 RRS feed

  • 问题

  • 我在练习一个无代码状态机时,生成XOML如下:
    <ns0:TempWF InitialStateName="InitState" x:Name="TempWF" DynamicUpdateCondition="{x:Null}" CompletedStateName="stateActivity1" xmlns:ns0="clr-namespace:ActivityLibrary;Assembly=ActivityLibrary" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow"> 。。。。 <StateActivity x:Name="SpStata"> <EventDrivenActivity x:Name="AppActivity"> <HandleExternalEventActivity Invoked="ActivityLibrary.TempWF.APP_Invoked" x:Name="handleExternalEventActivity1" EventName="SqApprove" InterfaceType="{x:Type p9:ISqService}" xmlns:p9="clr-namespace:LocalService;Assembly=LocalService" /> <ns0:AppActive x:Name="appActive" SpMesg="{ActivityBind TempWF,Path=SqMod.SpMesg}" /> <SetStateActivity x:Name="setStateActivity1" TargetStateName="PsStata" /> </EventDrivenActivity> </StateActivity> 。。。。 </ns0:TempWF>

    APP_Invoked声明如下:

      private void APP_Invoked(object sender, ExternalDataEventArgs e)

    为什么在运行的时候会跳过Invoked直接执行Activity呢?


    提问题真爽
    2010年2月2日 2:24

答案

全部回复

  • 更正一下 ,Invoked属性是这样写的
    HandleExternalEventActivity Invoked="APP_Invoked"
     


    提问题真爽
    2010年2月2日 6:39
  • hi,
    HandleExternalEventActivity的Invoked事件触发是在它的EventName所指定的事件执行之后的,也就是说,在这个活动执行之后才会触发的。

    My blog: http://xiaoshatian.cnblogs.com
    2010年2月2日 7:16
    版主
  • 对啊,Invoked 是在事件执行完毕后执行的,然后再去执行Activity。按照我的写法,现在没有执行Invoked直接执行Activity了。
    提问题真爽
    2010年2月2日 7:33
  • hi,
    你所说的Activity是什么?是HandleExternalEventActivity?还是HandleExternalEventActivity之后的活动?

    My blog: http://xiaoshatian.cnblogs.com
    2010年2月4日 1:17
    版主