Skip to Main Content
Programming WPF, 2nd Edition
book

Programming WPF, 2nd Edition

by Chris Sells, Ian Griffiths
August 2007
Intermediate to advanced content levelIntermediate to advanced
864 pages
25h 52m
English
O'Reilly Media, Inc.
Content preview from Programming WPF, 2nd Edition

Chapter 11. Navigation

One of the mantras of the WPF team was "best of Windows, best of the Web," which drove much of the innovation in the platform. In the preceding chapter, we looked at windows in a very Windows-centric way, but there's one innovation that the Web has made popular that we haven't discussed: navigation between content one page at a time.

NavigationWindow

The idea of navigation in WPF is that instead of showing multiple windows in a cascading style—a popular Windows application style used in the preceding chapter—we show pages of content inside a single frame, using standard navigation metaphors, like the Back and Forward buttons, to go between pages. If you want to build an application that does this, you can derive from the NavigationWindow class instead of the Window class and navigate to any WPF content you like (see Example 11-1).

Example 11-1. Navigation basics

<!-- Window1.xaml -->
<NavigationWindow ...
  x:Class="NavigationBasics.Window1"
  Title="NavigationBasics" />

// Window1.xaml.cs
...
using System.Windows.Navigation; // home of the NavigationWindow

public partial class Window1 : NavigationWindow {
  public Window1(  ) {
    InitializeComponent(  );

// Navigate to some content
    Navigate("Hello, World.");
  }
}

In Example 11-1, we've defined a custom NavigationWindow that sets its initial content to a string using the Navigate method, which works as you'd expect (Figure 11-1).

Figure 11-1. The simplest navigation application

Notice in Figure 11-1 the presence of the Back ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Programming C#, 4th Edition

Programming C#, 4th Edition

Jesse Liberty
Programming C# 10

Programming C# 10

Ian Griffiths

Publisher Resources

ISBN: 9780596510374Supplemental ContentErrata Page