DSoft.WizardControl.WPF 3.0.2411.191

dotnet add package DSoft.WizardControl.WPF --version 3.0.2411.191                
NuGet\Install-Package DSoft.WizardControl.WPF -Version 3.0.2411.191                
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.0.2411.191" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DSoft.WizardControl.WPF --version 3.0.2411.191                
#r "nuget: DSoft.WizardControl.WPF, 3.0.2411.191"                
#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.
// Install DSoft.WizardControl.WPF as a Cake Addin
#addin nuget:?package=DSoft.WizardControl.WPF&version=3.0.2411.191

// Install DSoft.WizardControl.WPF as a Cake Tool
#tool nuget:?package=DSoft.WizardControl.WPF&version=3.0.2411.191                

Dsoft.WizardControl.WPF

Dsoft.WizardControl.WPF is a simple user control for WPF

It supports

  • Databiding
  • Multiple pages
  • Validation
  • Themeing

Getting Started

The WPF Wizard control is a UserControl based element and so it be used in other UserControl objects or directly in a Window

Install the Nuget package into you project via the Package Management 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 uses UserControl that implements the IWizardPage interface.

The Pages property of the WizardControl is expecting a 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

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:WizardCont}">
    <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 net6.0-windows7.0 is compatible.  net6.0-windows10.0.18362 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net8.0-windows10.0.18362 is compatible.  net9.0-windows7.0 is compatible.  net9.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.0.2411.191 34 11/19/2024
3.0.2406.111 123 6/11/2024
2.1.2301.104-prerelease 614 1/11/2023
2.1.2211.21 1,072 11/2/2022
2.1.2106.41 1,188 6/4/2021
2.0.2103.241 942 3/24/2021
2.0.2007.151 1,365 7/15/2020
2.0.2005.231 1,142 5/23/2020
2.0.2002.262-preview 962 2/26/2020
2.0.2002.261-preview 946 2/26/2020
2.0.2001.301-preview 994 1/30/2020
2.0.2001.212-preview 964 1/21/2020
2.0.2001.161-preview 936 1/16/2020
2.0.2001.151-preview 914 1/15/2020
1.3.2001.32 1,207 1/3/2020
1.3.1909.241 1,102 9/24/2019
1.3.1909.211 297 9/21/2019
1.3.1909.104 313 9/10/2019
1.3.0-preview1 1,036 8/2/2019
1.2.0 1,382 12/11/2018
1.1.0 1,495 7/13/2018
1.0.0 1,511 6/12/2018

Updated to add .NET 9.x support