DSoft.WizardControl.WPF 3.1.2606.181

dotnet add package DSoft.WizardControl.WPF --version 3.1.2606.181
                    
NuGet\Install-Package DSoft.WizardControl.WPF -Version 3.1.2606.181
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DSoft.WizardControl.WPF" Version="3.1.2606.181" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DSoft.WizardControl.WPF" Version="3.1.2606.181" />
                    
Directory.Packages.props
<PackageReference Include="DSoft.WizardControl.WPF" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DSoft.WizardControl.WPF --version 3.1.2606.181
                    
#r "nuget: DSoft.WizardControl.WPF, 3.1.2606.181"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DSoft.WizardControl.WPF@3.1.2606.181
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DSoft.WizardControl.WPF&version=3.1.2606.181
                    
Install as a Cake Addin
#tool nuget:?package=DSoft.WizardControl.WPF&version=3.1.2606.181
                    
Install as a Cake Tool

DSoft.WizardControl.WPF

DSoft.WizardControl.WPF is a simple, customisable wizard UserControl for WPF, targeting .NET 10 (net10.0-windows7.0 and net10.0-windows10.0.18362).

It supports

  • Databinding
  • Multiple pages
  • Validation
  • Theming

The shared, UI-agnostic types (IWizardPage, WizardPageConfiguration, enums, event args) live in the DSoft.WizardControl.Core package, which this package depends on.

Getting Started

The WPF Wizard control is a UserControl based element, so it can be used inside other UserControl objects or directly in a Window.

Install the NuGet package into your project via the Package Manager Console

Install-Package Dsoft.WizardControl.WPF

Or install it via the Visual Studio NuGet Manager

In your Window or UserControl add a new namespace

xmlns:wizard="clr-namespace:Dsoft.WizardControl.WPF;assembly=DSoft.WizardControl.WPF"

Then you can add the WizardControl to the xaml

<Grid>
    <wizard:WizardControl 
        Title="{Binding Title}"  
        Pages="{Binding Pages}"  
        CancelCommand="{Binding CancelCommand}" 
        FinishCommand="{Binding FinishCommand}"/>
</Grid

Pages

The WizardControl hosts UserControl pages that implement the IWizardPage interface. IWizardPage exposes a WizardPageConfiguration PageConfig (per-page title, CanGoBack, IsHidden, HideButtons, plus NavigationHandler / OnPageShownHandler callbacks) and a Task<bool> ValidateAsync() method.

The Pages property of the WizardControl is expecting an ObservableCollection<IWizardPage> object which can be databound to a viewmodel or provided explicitly.

The Title, CancelCommand and FinishCommand can also be databound or provided explicitly.

Below is an example ViewModel using System.Mvvm

public class MainWindowViewModel : ViewModel
{

    public string Title
    {
        get { return _title; }
        set { _title = value; NotifyPropertyChanged("Title"); }
    }

    public ObservableCollection<IWizardPage> Pages
    {
        get { return _pages; }
        set { _pages = value; NotifyPropertyChanged("Pages"); }
    }

    public ICommand CancelCommand
    {
        get
        {
            return new DelegateCommand(() =>
            {
                MessageBox.Show("Bye!");

                OnRequestCloseWindow?.Invoke(this, false);
            });
        }
    }

    public ICommand FinishCommand
    {
        get
        {
            return new DelegateCommand(() =>
            {
                MessageBox.Show("Fin!");

                OnRequestCloseWindow?.Invoke(this, false);
            });
        }
    }
}

Theming

The appearance of the WizardControl header can be modified by overriding the theme

You can also change the ButtonStyle in the same way. Whilst ButtonStyle can be used to assign one button style to all visible buttons, individual button styles can be set as well. For individual button styles use code-behind, e.g. wizard.UpdateButtonStyle(ButtonType.Next, "WizardRedButtonStyle"); or via property binding, e.g. NextButtonStyle="{StaticResource WizardRedButtonStyle}".

Example styling xaml that can be added to the App.xaml or other xaml resource file

xmlns:wizcont="clr-namespace:Dsoft.WizardControl.WPF;assembly=DSoft.WizardControl.WPF"

<Style TargetType="{x:Type wizcont:WizardControl}">
    <Setter Property="ButtonStyle" Value="{StaticResource AccentedSquareButtonStyle}" />
</Style>

<Style TargetType="{x:Type wizcont:WizardControl}">
    <Setter Property="HeaderTemplate">
        <Setter.Value>
            <DataTemplate>
                <StackPanel VerticalAlignment="Center" Orientation="Vertical" Margin="5">
                    <TextBlock Text="{Binding Title,FallbackValue=Heading}" FontSize="36"  Foreground="{StaticResource AccentColorBrush}"/>
                    <TextBlock Text="{Binding SubTitle,FallbackValue=SubHeading}" FontSize="12" Foreground="Gray"/>
                </StackPanel>
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>
Product Compatible and additional computed target framework versions.
.NET net10.0-windows7.0 is compatible.  net10.0-windows10.0.18362 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.1.2606.181 41 6/18/2026
3.0.2502.61 404 2/6/2025
3.0.2411.191 256 11/19/2024
3.0.2406.111 294 6/11/2024
2.1.2301.104-prerelease 799 1/11/2023
2.1.2211.21 1,298 11/2/2022
2.1.2106.41 1,420 6/4/2021
2.0.2103.241 1,184 3/24/2021
2.0.2007.151 1,628 7/15/2020
2.0.2005.231 1,395 5/23/2020
2.0.2002.262-preview 1,211 2/26/2020
2.0.2002.261-preview 1,192 2/26/2020
2.0.2001.301-preview 1,231 1/30/2020
2.0.2001.212-preview 1,202 1/21/2020
2.0.2001.161-preview 1,183 1/16/2020
2.0.2001.151-preview 1,137 1/15/2020
1.3.2001.32 1,468 1/3/2020
1.3.1909.241 1,384 9/24/2019
1.3.1909.211 533 9/21/2019
1.3.1909.104 538 9/10/2019
Loading failed

Added .NET 10 support and removed support for .NET 6, 8 and 9