WF4状态机重新托管:FinalState

时间:2012-07-16 06:48:22

标签: workflow-foundation-4 state-machine rehosting

我正在重新托管WF4工作流程设计师。

对于状态机,我不知道如何通过XAML中的sapt:ToolboxItemWrapper提供“FinalState”。

没有FinalState类,只有“常规”状态的State类。 State类有一个IsFinal属性,所以我想它必须设置才能成为“FinalState”。

我尝试从State中派生我自己的FinalState类,它会在构造函数中设置IsFinal,但是当State被密封时它不起作用。

那么如何从XAML提供FinalState?

1 个答案:

答案 0 :(得分:0)

实际上 一个FinalState类,只是在一个不同的程序集中。所以要添加状态机使用:

<Window.Resources>
    <sys:String x:Key="AssemblyName">System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</sys:String>
    <sys:String x:Key="SACPAssemblyName">System.Activities.Core.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken="31bf3856ad364e35"</sys:String>
</Window.Resources>


<sapt:ToolboxCategory CategoryName="State Machine">

  <sapt:ToolboxItemWrapper  AssemblyName="{StaticResource AssemblyName}">
       <sapt:ToolboxItemWrapper.ToolName>
          System.Activities.Statements.Statemachine
       </sapt:ToolboxItemWrapper.ToolName>
  </sapt:ToolboxItemWrapper>

  <sapt:ToolboxItemWrapper  AssemblyName="{StaticResource AssemblyName}">
       <sapt:ToolboxItemWrapper.ToolName>
          System.Activities.Statements.State
       </sapt:ToolboxItemWrapper.ToolName>
  </sapt:ToolboxItemWrapper>

  <sapt:ToolboxItemWrapper  AssemblyName="{StaticResource SACPAssemblyName}">
       <sapt:ToolboxItemWrapper.ToolName>
          System.Activities.Core.Presentation.FinalState
       </sapt:ToolboxItemWrapper.ToolName>
  </sapt:ToolboxItemWrapper>

</sapt:ToolboxCategory>