0

我在Visual Studio 2010中的Windows Workflow 4.0项目中创建FlowChart。我添加了一个FlowSwitch,其中In Argument变量的表达式被传入Activity。我可以调试并看到值正确传递,但是我的FlowSwitch根本不会切换到定义为传入值的情况。我已将FlowSwitch定义为数字值,并将其作为In Argument应该等于。有什么我失踪?Windows Workflow 4.0 FlowSwitch不工作

+0

它吮吸时,测试软件都有漏洞,哎? – leppie 2009-10-13 18:10:58

+0

特别是对于如此基本的东西,它的功能集。我试图测试FlowCharts与常规活动,它只是不工作.. – 2009-10-13 18:12:41

+0

这甚至不使用硬编码值。 – 2009-10-13 18:16:39

回答

1

FlowSwitch此时适用于字符串值。尝试将InArgument转换为字符串。

例XAML:

<p:Activity mc:Ignorable="" x:Class="WorkflowConsoleApplication2.Flowchart1" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities/design" xmlns:__Flowchart1="clr-namespace:WorkflowConsoleApplication2;" xmlns:av="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:p="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <p:Flowchart StartNode="{x:Reference __ReferenceID0}" sad:XamlDebuggerXmlReader.FileName="c:\temp\WorkflowConsoleApplication2\WorkflowConsoleApplication2\Flowchart1.xaml"> 
    <WorkflowViewStateService.ViewState> 
     <scg:Dictionary x:TypeArguments="x:String, s:Object"> 
     <av:Point x:Key="ShapeLocation">275,10</av:Point> 
     <av:Size x:Key="ShapeSize">50,50</av:Size> 
     <av:PointCollection x:Key="ConnectorLocation">300,60 300,110</av:PointCollection> 
     </scg:Dictionary> 
    </WorkflowViewStateService.ViewState> 
    <p:FlowSwitch x:Name="__ReferenceID0" Expression="[&quot;2&quot;]"> 
     <p:FlowSwitch.Default> 
     <p:FlowStep x:Name="__ReferenceID1"> 
      <WorkflowViewStateService.ViewState> 
      <scg:Dictionary x:TypeArguments="x:String, s:Object"> 
       <av:Point x:Key="ShapeLocation">235,293</av:Point> 
       <av:Size x:Key="ShapeSize">200,34</av:Size> 
      </scg:Dictionary> 
      </WorkflowViewStateService.ViewState> 
      <p:WriteLine>["Default"]</p:WriteLine> 
     </p:FlowStep> 
     </p:FlowSwitch.Default> 
     <WorkflowViewStateService.ViewState> 
     <scg:Dictionary x:TypeArguments="x:String, s:Object"> 
      <av:Point x:Key="ShapeLocation">270,110</av:Point> 
      <av:Size x:Key="ShapeSize">60,60</av:Size> 
      <av:PointCollection x:Key="Default">300,170 285,170 285,283 335,283 335,293</av:PointCollection> 
      <av:PointCollection x:Key="1Connector">300,170 300,205 330,205</av:PointCollection> 
      <av:PointCollection x:Key="2Connector">300,170 300,180 290,180 290,270 340,270</av:PointCollection> 
     </scg:Dictionary> 
     </WorkflowViewStateService.ViewState> 
     <p:FlowStep x:Name="__ReferenceID2"> 
     <x:Key> 
      <x:String>1</x:String> 
     </x:Key> 
     <WorkflowViewStateService.ViewState> 
      <scg:Dictionary x:TypeArguments="x:String, s:Object"> 
      <av:Point x:Key="ShapeLocation">330,188</av:Point> 
      <av:Size x:Key="ShapeSize">200,34</av:Size> 
      </scg:Dictionary> 
     </WorkflowViewStateService.ViewState> 
     <p:WriteLine>["Its 1 "]</p:WriteLine> 
     </p:FlowStep> 
     <p:FlowStep x:Name="__ReferenceID3"> 
     <x:Key> 
      <x:String>2</x:String> 
     </x:Key> 
     <WorkflowViewStateService.ViewState> 
      <scg:Dictionary x:TypeArguments="x:String, s:Object"> 
      <av:Point x:Key="ShapeLocation">340,253</av:Point> 
      <av:Size x:Key="ShapeSize">200,34</av:Size> 
      </scg:Dictionary> 
     </WorkflowViewStateService.ViewState> 
     <p:WriteLine>["Its 2"]</p:WriteLine> 
     </p:FlowStep> 
    </p:FlowSwitch> 
    <x:Reference>__ReferenceID2</x:Reference> 
    <x:Reference>__ReferenceID3</x:Reference> 
    <x:Reference>__ReferenceID1</x:Reference> 
    </p:Flowchart> 
</p:Activity> 
+0

我试过Argument.ToString,甚至硬编码一个字符串“15000”,但它仍然无法正常工作。有什么想法吗? – 2009-10-13 19:31:28

+0

它适用于我:-)在FlowSwitch表达式中,我输入了“2”(包括引号)或2.ToString()。在FlowStep中,我输入了2(没有引号,因为这是一个字符串,不是表达式) 如果在原文中添加了我使用的XAML – Maurice 2009-10-13 20:09:54

+0

今天有beta 2了。不再是问题,但我非常感谢你的努力。 – 2009-10-19 19:26:13

相关问题