Share via


Wizard Sample

This sample illustrates how to create wizard, using a Window, a Frame, and several Page objects.

This sample demonstrates a specific feature of the Windows Presentation Foundation and, consequently, does not follow application development best practices. For comprehensive coverage of Windows Presentation Foundation (WPF) and Microsoft .NET Framework application development best practices, refer to the following as appropriate:

Accessibility - Accessibility Best Practices

Localization - WPF Globalization and Localization Overview

Performance - Optimizing WPF Application Performance

Security - Windows Presentation Foundation Security

Download sample

Building the Sample

  • Install the Windows Software Development Kit (SDK) and open its build environment command window. On the Start menu, point to All Programs, Microsoft Windows SDK, and then click CMD Shell.

  • Download the sample, usually from the software development kit (SDK) documentation, to your hard disk drive.

  • To build the sample from the build environment command window, go to the source directory of the sample. At the command prompt, type MSBUILD.

  • To build the sample in Microsoft Visual Studio, load the sample solution or project file and then press CTRL+SHIFT+B.

Running the Sample

  • To run the compiled sample from the build environment command window, execute the .exe file in the Bin\Debug or Bin\Release folder contained under the sample source code folder.

  • To run the compiled sample with debugging in Visual Studio, press F5.

Remarks

The wizard is constructed from a Window with a Frame that hosts the pages of the wizard. The navigation between the pages of the wizard uses a fixed linear topology, which you can find more information on in Structured Navigation Overview.

There is one key difference between the implementation of a fixed linear topology that is initiated by a Page versus one that is initiated by a Window.

In the case of the latter, code on the Window navigates its child Frame to the WizardLauncher class to start the wizard pages, as per the fixed linear topology. However, the Window code cannot handle the Return event of the WizardLauncher class (which is a PageFunction<T>) because the event cannot be raised across the boundary of the Frame. Instead, the WizardLauncher implements a custom event, WizardCompleted, which the Window code can handle to detect when the wizard has finished.

See Also

Concepts

Navigation Overview

Structured Navigation Overview

Navigation Topologies Overview