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 ...
Get Programming WPF, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.