rabejens
rabejens

Reputation: 8162

How to display other than the first wizard page of an Xtended WPF Toolkit Wizard in designer?

I want to build a wizard using Xtended WPF Toolkit's wizard controls. However, in the designer I only see the first page and cannot find a way to switch to another one. In other controls like the TabControl if I place the cursor into a TabItem the designer switches, but here it does not.

So, how do I achieve this?

Upvotes: 4

Views: 2030

Answers (2)

Shakra
Shakra

Reputation: 501

There are only two options for viewing pages in the "Wizard": use the CurrentPage and by editing Wizard items visibility (you can comment out those items you finished to work with).

There is no other way to see different pages at design time. To use CurrentPage property, you can use it for design and delete before compile. I don't see another simple way to do this.

Just updated original XCeed's Wizard example with required property

<xctk:Wizard FinishButtonClosesWindow="True" CurrentPage="{Binding ElementName=Page2}">
            <xctk:WizardPage x:Name="IntroPage" 
                                   Title="Welcome to my Wizard"
                                   Description="This Wizard will walk you though how to do something." />
            <xctk:WizardPage x:Name="Page1" PageType="Interior"
                                   Title="Page 1"
                                   Description="This is the first page in the process."
                                   NextPage="{Binding ElementName=Page2}"
                                   PreviousPage="{Binding ElementName=IntroPage}"/>
            <xctk:WizardPage x:Name="Page2" PageType="Interior"
                                   Title="Page 2"
                                   Description="This is the second page in the process"/>
            <xctk:WizardPage x:Name="LastPage" PageType="Interior"
                                   Title="Last Page"
                                   Description="This is the last page in the process"
                                   CanFinish="True"/>
        </xctk:Wizard>

Upvotes: 6

rabejens
rabejens

Reputation: 8162

As pointed out by the user Shakra, the Xceed Wizard can only display the pages in the designer by setting the CurrentPage property, and even this has some flaws: When re-opening the xaml file or rebuilding the project, it shows the first page again, I have to make an edit to the CurrentPage property in the XAML source editor to make it show the correct page again.

So here's what I am now doing:

  • I use the CurrentPage property to get a glimpse
  • I put everything to appear in the individual wizard pages into individual UserControls, and add nothing except the respective UserControl into the wizard pages, hooking up their view models from outside (my user controls have a ViewModel dependency property that take the respective view model object)

So I can do the heavy editing and wiring-up in the XAML of the user controls, and use the hackish workaround with the CurrentPage property only to get a glimpse if everything is set up right.

Upvotes: 1

Related Questions