這一節是講導航的。看了一遍,發現多不能實現,因為版本更新了,所以很多舊的語法不支持了,比 如說,不再有NavigationApplication,仍然是Application,TextBlock容器的TextWrap屬性改為 TextingWrap,StartupUri指向"Page1.xaml"。只要WPFApplication(不是Browser)內展示Page的頁面,都 會自動產生導航條。
下面我們來看Page1.xaml
Example 1-16. A sample navigation page
<!-- Page1.xaml -->
<Page
x:Class="MyNavApp.Page1"
xmlns="http://schemas.microsoft.com/winfx/avalon/2005"
xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
Text="Page 1">
<TextBlock FontSize="72" TextWrap="Wrap">
Check out
<Hyperlink NavigateUri
="page2.xaml">page 2</Hyperlink>,
too.
</TextBlock>
</Page>
關鍵是這句話:
<Hyperlink NavigateUri="page2.xaml">page 2</Hyperlink>
等價於以下後台代碼:
NavigationService.GetNavigationService(this).Navigate(new Uri ("page2.xaml", UriKind.Relative));
其中,NavigationService是一個提供靜態導航方法的類,還有兩個方法負責後退和前進: NavigationService.GetNavigationService(this).GoForward();
NavigationService.GetNavigationService(this).GoBack();
可以放在按鈕事件中完成導航。
配套源碼的例子是可以用的(WpfPreReleaseBookSamples\ch01\beta2\MyNavApp)。