Wizard Component Samples
The Wizard control provides multi-step navigation through a series of steps, displaying one step at a time with navigation buttons (Previous, Next, Finish, Cancel). In Web Forms this was <asp:Wizard>.
Basic Wizard
A simple 3-step registration wizard with a sidebar showing all steps.
Code:
<Wizard ActiveStepIndex="@step" ActiveStepIndexChanged="(i) => step = i"
HeaderText="Registration Wizard"
DisplaySideBar="true">
<WizardSteps>
<WizardStep Title="Step 1">...</WizardStep>
<WizardStep Title="Step 2">...</WizardStep>
<WizardStep Title="Finish" StepType="WizardStepType.Finish">...</WizardStep>
</WizardSteps>
</Wizard>
Wizard without Sidebar
Hides the sidebar navigation panel by setting DisplaySideBar="false". Users must use Previous/Next buttons to navigate through steps.
Code:
<Wizard DisplaySideBar="false">
<WizardSteps>
...
</WizardSteps>
</Wizard>
Wizard with AllowReturn Restriction
The first step sets AllowReturn="false", preventing users from navigating back to it once they proceed. The Previous button is disabled when trying to return to that step.
Code:
<WizardStep Title="Terms" AllowReturn="false">
<p>Once you proceed past this step, you cannot go back.</p>
</WizardStep>
<WizardStep Title="Details">
...
</WizardStep>
Wizard with Cancel Button
Set DisplayCancelButton="true" to show a Cancel button. Handle the OnCancelButtonClick event to perform cleanup or navigation.
Code:
<Wizard DisplayCancelButton="true"
OnCancelButtonClick="HandleCancel">
...
</Wizard>
Custom Button Text
Customize the text on navigation buttons using the *ButtonText properties like StartNextButtonText, StepPreviousButtonText, FinishButtonText, etc.
Code:
<Wizard StartNextButtonText="Begin ➜"
StepNextButtonText="Continue ➜"
StepPreviousButtonText="⬅ Back"
FinishButtonText="Submit Order"
CancelButtonText="Cancel Order">
...
</Wizard>
Wizard with HeaderTemplate
Use the HeaderTemplate to customize the header section with custom content instead of plain text.
Code:
<Wizard>
<HeaderTemplate>
<div style="padding: 15px; background-color: #f0f0f0;">
<h4>Custom Header Content</h4>
</div>
</HeaderTemplate>
<WizardSteps>
...
</WizardSteps>
</Wizard>
FinishCompleteButtonText Override
When FinishCompleteButtonText is set, it takes precedence over FinishButtonText for the rendered Finish button label.
Code:
<Wizard FinishButtonText="Submit Enrollment"
FinishCompleteButtonText="Complete Enrollment">
<WizardSteps>
<WizardStep Title="Confirm" StepType="WizardStepType.Finish" />
</WizardSteps>
</Wizard>
Wizard with SideBarTemplate
Use SideBarTemplate to replace the built-in sidebar links with your own custom list layout.
Code:
<Wizard DisplaySideBar="true">
<SideBarTemplate>
<ul class="list-unstyled">
<li>Custom step list</li>
<li>with your own layout</li>
</ul>
</SideBarTemplate>
<WizardSteps>...</WizardSteps>
</Wizard>
Wizard with StartNavigationTemplate
StartNavigationTemplate replaces the default navigation row for the first step, letting you use a custom button layout.
Code:
<Wizard>
<StartNavigationTemplate>
<button type="button" class="btn btn-outline-primary">🚀 Begin Setup</button>
</StartNavigationTemplate>
<WizardSteps>...</WizardSteps>
</Wizard>
Wizard with StepNavigationTemplate
StepNavigationTemplate customizes navigation for middle steps while leaving the start and finish steps unchanged.
Code:
<Wizard>
<StepNavigationTemplate>
<div class="d-flex justify-content-between">
<button type="button">← Edit</button>
<button type="button">Save →</button>
</div>
</StepNavigationTemplate>
<WizardSteps>...</WizardSteps>
</Wizard>
Wizard with FinishNavigationTemplate
FinishNavigationTemplate replaces the default Previous/Finish row on the finish step with custom actions.
Code:
<Wizard>
<FinishNavigationTemplate>
<div class="d-flex justify-content-end gap-2">
<button type="button">← Back</button>
<button type="button">✅ Confirm</button>
</div>
</FinishNavigationTemplate>
<WizardSteps>...</WizardSteps>
</Wizard>
Source Code
Complete code-behind implementation for all wizard demonstrations: