StateMachineWorkflowActivity.InitialStateName Property

Definition

Gets or sets the StateActivity in which the StateMachineWorkflowActivity is when an instance of the state machine is created.

[System.Workflow.ComponentModel.Compiler.ValidationOption(System.Workflow.ComponentModel.Compiler.ValidationOption.Optional)]
public string InitialStateName { get; set; }

Property Value

The StateActivity in which the StateMachineWorkflowActivity is when an instance of the state machine is created.

Attributes

Examples

The following code example shows how to set the value of the InitialStateName property. This code example is part of the SimpleStateMachineWorkflow SDK sample from the StateMachineWorkflow.cs file. For more information, see Simple State Machine.

this.CanModifyActivities = true;
this.setCompletedState = new System.Workflow.Activities.SetStateActivity();
this.code2 = new System.Workflow.Activities.CodeActivity();
this.state1Delay = new System.Workflow.Activities.DelayActivity();
this.setState1 = new System.Workflow.Activities.SetStateActivity();
this.code1 = new System.Workflow.Activities.CodeActivity();
this.startStateDelay = new System.Workflow.Activities.DelayActivity();
this.eventDriven2 = new System.Workflow.Activities.EventDrivenActivity();
this.eventDriven1 = new System.Workflow.Activities.EventDrivenActivity();
this.CompletedState = new System.Workflow.Activities.StateActivity();
this.state1 = new System.Workflow.Activities.StateActivity();
this.StartState = new System.Workflow.Activities.StateActivity();
//
// setCompletedState
//
this.setCompletedState.Name = "setCompletedState";
this.setCompletedState.TargetStateName = "CompletedState";
//
// code2
//
this.code2.Name = "code2";
this.code2.ExecuteCode += new System.EventHandler(this.Code2Handler);
//
// state1Delay
//
this.state1Delay.Name = "state1Delay";
this.state1Delay.TimeoutDuration = System.TimeSpan.Parse("00:00:02");
//
// setState1
//
this.setState1.Name = "setState1";
this.setState1.TargetStateName = "state1";
//
// code1
//
this.code1.Name = "code1";
this.code1.ExecuteCode += new System.EventHandler(this.Code1Handler);
//
// startStateDelay
//
this.startStateDelay.Name = "startStateDelay";
this.startStateDelay.TimeoutDuration = System.TimeSpan.Parse("00:00:05");
//
// eventDriven2
//
this.eventDriven2.Activities.Add(this.state1Delay);
this.eventDriven2.Activities.Add(this.code2);
this.eventDriven2.Activities.Add(this.setCompletedState);
this.eventDriven2.Name = "eventDriven2";
//
// eventDriven1
//
this.eventDriven1.Activities.Add(this.startStateDelay);
this.eventDriven1.Activities.Add(this.code1);
this.eventDriven1.Activities.Add(this.setState1);
this.eventDriven1.Name = "eventDriven1";
//
// CompletedState
//
this.CompletedState.Name = "CompletedState";

Remarks

The InitialStateName property is mandatory and must be provided when a StateMachineWorkflowActivity is created. The InitialStateName of the state machine is like any other state activity that is contained within the state machine. The state activity can be a direct child of the StateMachineWorkflowActivity root activity and a StateMachineWorkflowActivity can have only one InitialStateName.

For more information about InitialStateName and CompletedStateName, see StateMachineWorkflowActivity.

Applies to

Produkt Wersje
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1