Search code examples
c#.netwpfxamlwpf-extended-toolkit

Extended WPF Toolkit - Change Wizard style


I am working on a WPF application that uses the Wizard window from the Extended WPF Toolkit. I need to change the color of the footer of the wizard and unfortunately the developers didn't expose any property to do it, so I need to edit the style.

The Toolkit is imported as NuGet package, so I cannot just edit the source code. I found the default style of the control (Generic.xaml) on Codeplex, copied it in a file in my project so now I have something like this:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:local="clr-namespace:Xceed.Wpf.Toolkit"
                xmlns:conv="clr-namespace:Xceed.Wpf.Toolkit.Core.Converters">

    <conv:WizardPageButtonVisibilityConverter x:Key="WizardPageButtonVisibilityConverter" />

    <Style TargetType="{x:Type local:Wizard}">
        ...

Here I get two errors:

The type 'conv:WizardPageButtonVisibilityConverter' was not found. Verify that you are not missing as assembly reference and that all referenced assemblies have been built.

and

The name "Wizard" does not exist in the namespace "clr-namespace:Xceed.Wpf.Toolkit".

Then I tried to change the line

xmlns:local="clr-namespace:Xceed.Wpf.Toolkit"

to

xmlns:local="http://schemas.xceed.com/wpf/xaml/toolkit"

and the second error disappeared, but I don't know how to deal with the first one.

Do you have any idea? Is it the right way to change the default style?

Thanks!


Solution

  • The XAML namespace mapping should also specify the name of the assembly in which the WizardPageButtonVisibilityConverter class is defined:

    xmlns:conv="clr-namespace:Xceed.Wpf.Toolkit.Core.Converters;assembly=Xceed.Wpf.Toolkit"