StateMachineWorkflowActivity.InitialStateName Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the StateActivity in which the StateMachineWorkflowActivity is when an instance of the state machine is created.
public:
property System::String ^ InitialStateName { System::String ^ get(); void set(System::String ^ value); };
[System.Workflow.ComponentModel.Compiler.ValidationOption(System.Workflow.ComponentModel.Compiler.ValidationOption.Optional)]
public string InitialStateName { get; set; }
[<System.Workflow.ComponentModel.Compiler.ValidationOption(System.Workflow.ComponentModel.Compiler.ValidationOption.Optional)>]
member this.InitialStateName : string with get, set
Public Property InitialStateName As String
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";
Me.CanModifyActivities = True
Me.CompletedState = New System.Workflow.Activities.StateActivity
Me.code2 = New System.Workflow.Activities.CodeActivity
Me.state1Delay = New System.Workflow.Activities.DelayActivity
Me.setState1 = New System.Workflow.Activities.SetStateActivity()
Me.code1 = New System.Workflow.Activities.CodeActivity()
Me.startStateDelay = New System.Workflow.Activities.DelayActivity()
Me.eventDriven2 = New System.Workflow.Activities.EventDrivenActivity()
Me.eventDriven1 = New System.Workflow.Activities.EventDrivenActivity()
Me.CompletedState = New System.Workflow.Activities.StateActivity()
Me.state1 = New System.Workflow.Activities.StateActivity()
Me.StartState = New System.Workflow.Activities.StateActivity()
'
' setCompletedState
'
Me.setCompletedState.Name = "setCompletedState"
Me.setCompletedState.TargetStateName = "CompletedState"
'
' code2
'
Me.code2.Name = "code2"
AddHandler Me.code2.ExecuteCode, AddressOf Me.Code2Handler
'
' state1Delay
'
Me.state1Delay.Name = "state1Delay"
Me.state1Delay.TimeoutDuration = System.TimeSpan.Parse("00:00:02")
'
' setState1
'
Me.setState1.Name = "setState1"
Me.setState1.TargetStateName = "state1"
'
' code1
'
Me.code1.Name = "code1"
AddHandler Me.code1.ExecuteCode, AddressOf Me.Code1Handler
'
' startStateDelay
'
Me.startStateDelay.Name = "startStateDelay"
Me.startStateDelay.TimeoutDuration = System.TimeSpan.Parse("00:00:05")
'
' eventDriven2
'
Me.eventDriven2.Activities.Add(Me.state1Delay)
Me.eventDriven2.Activities.Add(Me.code2)
Me.eventDriven2.Activities.Add(Me.setCompletedState)
Me.eventDriven2.Name = "eventDriven2"
'
' eventDriven1
'
Me.eventDriven1.Activities.Add(Me.startStateDelay)
Me.eventDriven1.Activities.Add(Me.code1)
Me.eventDriven1.Activities.Add(Me.setState1)
Me.eventDriven1.Name = "eventDriven1"
'
' CompletedState
'
Me.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.