Windows Workflow 4.0 flussostat ne fonctionne pas
Question
Je crée un FlowChart dans un projet Windows Workflow 4.0 dans Visual Studio 2010. J'ai ajouté FlowSwitch
with l'expression d'une variable passée en tant In Argument
au Activity
. Je peux déboguer et voir les valeurs sont transmises correctement, mais mon flussostat ne commute pas du tout à un cas qui est définie comme étant la valeur transmise. Je l'ai défini le flussostat va à l'activité comme la valeur numérique que le In Argument
devrait être égal à. Y at-il quelque chose que je suis absent?
La solution
A flussostat travaille avec des valeurs de chaîne au moment. Essayez de convertir le InArgument à une chaîne.
Exemple 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="["2"]">
<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow