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 ...
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.