2011-06-10 150 views
0

我有一個由四個頁面(XAML)組成的簡單Silverlight應用程序。 導航通過以下方式完成:XAML頁面之間的導航

//from XamlPageA 
this.Content = new XamlPageB(); 

這是正確的方法。我需要在瀏覽器歷史記錄中輸入條目,以便用戶可以轉至上一頁。我該怎麼做。

回答

1

您正在通過手動設置內容完全繞過導航系統。如果你這樣做的話,你必須自己實現更新瀏覽器歷史記錄(當然可能,但相當單調乏味)。

更簡單的方法是生成一個「Silverlight商業應用程序」項目,並查看如何使用超鏈接按鈕簡單處理頁面導航。所有的瀏覽器歷史管道工作都是爲您完成的,就像從URL到視圖的映射一樣。

例如具有NavigateUri="/Home"的按鈕將導致名爲Home.xaml的視圖加載到MainPage窗口的navigation:Frame中。

如果你看看MainPage.xaml中的navigation:Frame元素,你會看到一些UriMapping條目是這樣的:

<uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/> 
    <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/> 

他們提供配套,從URL轉換到欣賞模式。

希望這可以幫助您的項目。

+0

[silverlightshow.net](http://www.silverlightshow.net/items/The-Silverlight-3-Navigation-Framework.aspx)上有很好的導航框架示例, – 2011-06-10 08:19:09