mcpField
S
syncfusion-wpf-wizard-control

syncfusion-wpf-wizard-control

github.com/syncfusionDesign & UI5155 installsUpdated 1w ago
Repository

About syncfusion-wpf-wizard-control

A reference skill for building multi-step wizard interfaces with Syncfusion’s WPF WizardControl. It covers page configuration, navigation behavior, data binding, and visual customization for setup and configuration flows.

Key features

  1. 01Configure WizardPage types and buttons
  2. 02Control linear and branching navigation
  3. 03Bind pages from a data source
  4. 04Customize banners, headers, and themes

Use cases

  1. 01Build setup or onboarding flows
  2. 02Skip or branch between wizard steps
  3. 03Load wizard pages from a collection

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-wizard-control

After installing, type/syncfusion-wpf-wizard-controlin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
getting-started.md
interactive-features.md
layout-and-appearance.md
page-types-and-navigation.md

Details

From the project README

Implementing Syncfusion WPF WizardControl

WizardControl is Syncfusion's WPF wizard UI, modelled after the familiar installation wizard pattern. It hosts one or more WizardPage items and automatically manages Back/Next/Finish/Cancel navigation. Each page's type, banner, and button states are independently configurable. Pages can be added declaratively or bound from a data source.

Assemblies required:

  • Syncfusion.Shared.WPF
  • Syncfusion.Tools.WPF

Namespace: Syncfusion.Windows.Tools.Controls
XAML schema: http://schemas.syncfusion.com/wpf


When to Use This Skill

  • Creating a multi-step wizard UI (setup, onboarding, configuration, checkout)
  • Adding and configuring WizardPage items inside WizardControl
  • Controlling which navigation buttons appear or are enabled per page
  • Implementing non-linear page flow (skip steps, branch on user input)
  • Binding wizard pages dynamically from a collection via ItemsSource
  • Customizing banner images, banner colors, and page headers
  • Applying themes or customizing the wizard's visual appearance

Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Assembly and NuGet setup
  • Adding WizardControl via designer, XAML, or C#
  • Adding multiple WizardPages
  • Theme support overview
Page Types & Navigation Buttons

📄 Read: references/page-types-and-navigation.md

  • PageType enum: Blank, Interior, Exterior
  • Enabling/disabling Back, Next, Finish, Cancel buttons
  • Showing/hiding navigation buttons
  • Custom button label text
  • FinishButtonClosesWindow / CancelButtonCancelsWindow
Interactive Features

📄 Read: references/interactive-features.md

  • Populating pages declaratively vs. via ItemsSource data binding
  • ItemContainerStyle and ItemTemplate for bound pages
  • SelectedWizardPage — programmatic page selection
  • Title and Description on WizardPage
  • NextPage / PreviousPage for non-linear navigation
  • Next event handler
Layout & Appearance

📄 Read: references/layout-and-appearance.md

  • InteriorPageHeaderMinHeight
  • BannerBackground color
  • BannerImage on WizardPage
  • ExteriorPageBannerImageMinWidth
  • Applying built-in themes via SfSkinManager
  • Custom themes via Theme Studio

Quick Start

Minimal XAML Setup
<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf" ...>
    <Grid>
        <syncfusion:WizardControl Name="wizard"
                                  FinishButtonClosesWindow="True"
                                  CancelButtonCancelsWindow="True">
            <syncfusion:WizardPage Title="Welcome"
                                   Description="Introduction to the setup process."
                                   PageType="Exterior"
                                   BannerImage="Images/banner.png"/>
            <syncfusion:WizardPage Title="Configuration"
                                   Description="Configure your settings."
                                   PageType="Interior"/>
            <syncfusion:WizardPage Title="Finish"
                                   Description="Setup is complete."
                                   PageType="Exterior"/>
        </syncfusion:WizardControl>
    </Grid>
</Window>
Minimal C# Setup
using Syncfusion.Windows.Tools.Controls;

WizardControl wizard = new WizardControl();
wizard.FinishButtonClosesWindow = true;
wizard.CancelButtonCancelsWindow = true;

WizardPage page1 = new WizardPage { Title = "Welcome",       PageType = WizardPageType.Exterior };
WizardPage page2 = new WizardPage { Title = "Configuration", PageType = WizardPageType.Interior };
WizardPage page3 = new WizardPage { Title = "Finish",        PageType = WizardPageType.Exterior };

wizard.Items.Add(page1);
wizard.Items.Add(page2);
wizard.Items.Add(page3);

this.Content = wizard;

Common Patterns

Control Navigation Button Visibility Per Page
<!-- First page: hide Back, show Next -->
<syncfusion:WizardPage Title="Step 1" BackVisible="False" NextVisible="True" FinishVisible="False"/>

<!-- Middle page: show Back and Next -->
<syncfusion:WizardPage Title="Step 2" BackVisible="True" NextVisible="True" FinishVisible="False"/>

<!-- Last page: show Back and Finish, hide Next -->
<syncfusion:WizardPage Title="Step 3" BackVisible="True" NextVisible="False" FinishVisible="True"/>
Non-Linear Navigation (Skip a Step)
<syncfusion:WizardControl Name="wizard">
    <syncfusion:WizardPage x:Name="step1" Title="Step 1"
                           NextPage="{Binding ElementName=step3}"/>
    <syncfusion:WizardPage x:Name="step2" Title="Step 2"/>
    <syncfusion:WizardPage x:Name="step3" Title="Step 3"
                           PreviousPage="{Binding ElementName=step1}"/>
</syncfusion:WizardControl>
Handle Next Button Click
<syncfusion:WizardControl Next="Wizard_Next" ...>
private void Wizard_Next(object sender, RoutedEventArgs e)
{
    var wiz = (WizardControl)sender;
    // Validate current page before allowing navigation
    if (!ValidateCurrentPage())
        e.Handled = true;  // Cancel navigation
}

Key Properties

WizardControl Properties
PropertyTypeDescription
SelectedWizardPageWizardPageCurrently displayed page
ItemsSourceIEnumerableBind pages from a collection
ItemTemplateDataTemplateTemplate for bound page content
ItemContainerStyleStyleStyle applied to each WizardPage container
BackEnabledboolEnable/disable Back button globally
NextEnabledboolEnable/disable Next button globally
FinishEnabledboolEnable/disable Finish button globally
CancelEnabledboolEnable/disable Cancel button globally
BackVisibleboolShow/hide Back button globally
NextVisibleboolShow/hide Next button globally
FinishVisibleboolShow/hide Finish button globally
HelpVisibleboolShow/hide Help button globally
CancelVisibleboolShow/hide Cancel button globally
BackTextstringCustom label for Back button
NextTextstringCustom label for Next button
FinishTextstringCustom label for Finish button
HelpTextstringCustom label for Help button
CancelTextstringCustom label for Cancel button
FinishButtonClosesWindowboolClose window on Finish click
CancelButtonCancelsWindowboolClose window on Cancel click
InteriorPageHeaderMinHeightdoubleMin header height for Interior pages
ExteriorPageBannerImageMinWidthdoubleMin banner image width for Exterior pages
WizardPage Properties
PropertyTypeDescription
TitlestringPage title shown in header
DescriptionstringPage description shown in header
PageTypeWizardPageTypeBlank, Interior, or Exterior
BannerImageImageSourceBanner image for the page
BannerBackgroundBrushBanner area background color
NextPageWizardPageOverride the default next page
PreviousPageWizardPageOverride the default previous page
BackEnabledboolEnable/disable Back on this page
NextEnabledboolEnable/disable Next on this page
FinishEnabledboolEnable/disable Finish on this page
CancelEnabledboolEnable/disable Cancel on this page
BackVisibleboolShow/hide Back on this page
NextVisibleboolShow/hide Next on this page
FinishVisibleboolShow/hide Finish on this page
HelpVisibleboolShow/hide Help on this page
CancelVisibleboolShow/hide Cancel on this page

Comments

Markdown supported