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
<PackageReference Include="DSoft.WizardControl.WPF" Version="3.0.2411.191" />
paket add DSoft.WizardControl.WPF --version 3.0.2411.191
#r "nuget: DSoft.WizardControl.WPF, 3.0.2411.191"
// 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 | Versions 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. |
-
net6.0-windows10.0.18362
- DSoft.WizardControl.Core (>= 3.0.2411.191)
-
net6.0-windows7.0
- DSoft.WizardControl.Core (>= 3.0.2411.191)
-
net8.0-windows10.0.18362
- DSoft.WizardControl.Core (>= 3.0.2411.191)
-
net8.0-windows7.0
- DSoft.WizardControl.Core (>= 3.0.2411.191)
-
net9.0-windows10.0.18362
- DSoft.WizardControl.Core (>= 3.0.2411.191)
-
net9.0-windows7.0
- DSoft.WizardControl.Core (>= 3.0.2411.191)
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