Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Flussdiagramm ist ein bekanntes Paradigma für das Entwerfen von Programmen. Die Flussdiagrammaktivität wird in der Regel verwendet, um nicht sequenzielle Workflows zu implementieren, kann jedoch für sequenzielle Workflows verwendet werden, wenn keine FlowDecision Knoten verwendet werden.
Workflowstruktur von Flussdiagrammen
Eine Ablaufdiagrammaktivität ist eine Aktivität, die eine Reihe von Aktivitäten umfasst, die ausgeführt werden sollen. Flussdiagramme enthalten auch Flusssteuerungselemente wie FlowDecision und FlowSwitch<T>, die den Ablauf zwischen den enthaltenen Aktivitäten basierend auf den Werten von Variablen steuern.
Typen von Flussknoten
Je nach Typ der Flusssteuerung, die beim Ausführen des Elements erforderlich ist, werden unterschiedliche Typen von Elementen verwendet. Zu den Typen von Flussdiagrammelementen gehören:
FlowStep- Modelliert einen Schritt der Ausführung im Flussdiagramm.FlowDecision- Verzweigungsausführung basierend auf einer booleschen Bedingung, ähnlich wie If.FlowSwitch– verzweigt die Ausführung auf Grundlage eines exklusiven Schalters, wie dies auch bei Switch<T> der Fall ist.
Jeder Link verfügt über eine Action-Eigenschaft, die eine ActivityAction definiert, mit der untergeordnete Aktivitäten ausgeführt werden können, und über mindestens eine Next-Eigenschaft, die definiert, welche Elemente ausgeführt werden sollen, wenn das aktuelle Element die Ausführung beendet.
Erstellen einer einfachen Aktivitätssequenz mit einem FlowStep-Knoten
Um eine einfache Sequenz zu modellieren, in der zwei Aktivitäten wiederum ausgeführt werden, wird das FlowStep Element verwendet. Im folgenden Beispiel werden zwei Elemente verwendet, um zwei FlowStep Aktivitäten in Folge auszuführen.
<Flowchart>
<FlowStep>
<Assign DisplayName="Get Name">
<Assign.To>
<OutArgument x:TypeArguments="x:String">[result]</OutArgument>
</Assign.To>
<Assign.Value>
<InArgument x:TypeArguments="x:String">["User"]</InArgument>
</Assign.Value>
</Assign>
<FlowStep.Next>
<FlowStep>
<WriteLine Text="Hello, " & [result]/>
</FlowStep>
</FlowStep.Next>
</FlowStep>
</Flowchart>
Erstellen eines bedingten Flussdiagramms mit einem FlowDecision-Knoten
Zum Modellieren eines bedingten Flussknotens in einem Flussdiagrammworkflow (d. h. zum Erstellen einer Verknüpfung, die als Entscheidungssymbol eines herkömmlichen Flussdiagramms fungiert), wird ein FlowDecision Knoten verwendet. Die Condition-Eigenschaft des Knotens wird auf einen Ausdruck festgelegt, der die Bedingung definiert, und die True- und False-Eigenschaften werden auf FlowNode-Instanzen festgelegt, die ausgeführt werden sollen, wenn der Ausdruck zu true oder false ausgewertet wird. Das folgende Beispiel zeigt, wie Sie einen Workflow definieren, der einen FlowDecision Knoten verwendet.
<Flowchart>
<FlowStep>
<Read Result="[s]"/>
<FlowStep.Next>
<FlowDecision>
<IsEmpty Input="[s]" />
<FlowDecision.True>
<FlowStep>
<Write Text="Empty"/>
</FlowStep>
</FlowDecision.True>
<FlowDecision.False>
<FlowStep>
<Write Text="Non-Empty"/>
</FlowStep>
</FlowDecision.False>
</FlowDecision>
</FlowStep.Next>
</FlowStep>
</Flowchart>
Erstellen eines exklusiven Switches mit einem FlowSwitch-Knoten
Um ein Flussdiagramm zu modellieren, in dem ein exklusiver Pfad basierend auf einem übereinstimmenden Wert ausgewählt wird, wird der FlowSwitch<T> Knoten verwendet. Die Expression-Eigenschaft wird auf eine Activity<TResult> festgelegt, wobei ein Typparameter von Object verwendet wird, der den Wert festlegt, mit dem Auswahlmöglichkeiten abgeglichen werden sollen. Die Cases Eigenschaft definiert ein Wörterbuch mit Schlüsseln und FlowNode Objekten, die mit dem bedingten Ausdruck übereinstimmen sollen, und eine Gruppe von FlowNode Objekten, die definieren, wie die Ausführung ablaufen soll, wenn der angegebene Fall mit dem bedingten Ausdruck übereinstimmt. Die FlowSwitch<T> definiert auch eine Default-Eigenschaft, die festlegt, wie die Ausführung verlaufen sollte, wenn keine der Fälle mit der Bedingung übereinstimmt. Im folgenden Beispiel wird veranschaulicht, wie ein Workflow definiert wird, der ein FlowSwitch<T> Element verwendet.
<Flowchart>
<FlowSwitch>
<FlowStep x:Key="Red">
<WriteRed/>
</FlowStep>
<FlowStep x:Key="Blue">
<WriteBlue/>
</FlowStep>
<FlowStep x:Key="Green">
<WriteGreen/>
</FlowStep>
</FlowSwitch>
</Flowchart>