Pages
If we want to get a little fancier than a string, we can create
multiple Pages of content, which is specifically what
the Page class was invented for (see
Example 11-2).
Example 11-2. Packaging content with a Page object
<!-- Page1.xaml --><Page... x:Class="NavigationBasics.Page1"Title="Page 1"WindowTitle="Welcome to Page 1"> <TextBlock VerticalAlignment="Bottom"><Hyperlink NavigateUri="Page2.xaml">Click to see page 2</Hyperlink></TextBlock></Page>// Page1.xaml.cs... using System.Windows.Controls; // home of the Page public partial class Page1 :Page{ public Page1( ) { // Initialize page from XAML InitializeComponent( ); } }
To get the basic skeleton of a new Page class, you can right-click on your
project in the Visual Studio 2005 Solution Explorer, choosing Add → New
Item, and select Page (WPF). Example 11-2 was started that way,
adding the WindowTitle, the Title, and the content. The WindowTitle is what shows up in the caption of
the navigation host. The Title
property is what shows up in the history drop-down. If you don't set a
page's Title property, it will be
composed for you as WindowTitle
(foo.xaml), which isn't particularly friendly.
The content in Example 11-2 uses a Hyperlink, which is a nice little element that
handles clicking for navigation applications.[70] We're setting the NavigateUri property to point to the page
resource we'd like it to load for us. The NavigateUri supports the normal URI format (e.g., a URL to an HTTP file on the Web), as well as ...