通常我們的應用程序是由多個應用頁面構成的,于是就有一個十分重要的行為——頁面間的切換。在這里成為頁面間的導航。我們需要注意的問題是:怎么實現切換和怎么傳遞參數。
我們要了解的信息是:
我們創(chuàng)建一個項目,叫做“NavigationPractice”,添加一個頁面叫做“MyPage.xaml”,這是主頁面MainPage需要導航到的頁面。
這也是HyperlinkButton的一個重要的應用方式,通過指定HyperlinkButton的NavigateUri屬性,實現導航,具體實現:
具體實現:定義一個按鈕,給按鈕添加Click事件,以實現導航。
使用代碼:NavigationService.GoBack()。
補充:禁用返回按鍵的返回操作。給當前頁面添加BackKeyPress事件,使用e.Cancel=true;的方式來禁用返回按鍵。
在使用的時候,就像之前的應用一般,只是在路徑名中直接書寫路徑別名就行了。
對于以上兩種傳遞參數的方式,在接受的時候,使用NavigationContext。具體方法:
為了很好的使用參數,避免異常等情況發(fā)生,在獲取數據的時候最好先判斷參數是不是存在。
在導航的時候,配合獨立存儲,將需要傳遞的參數保存在獨立存儲中,由于一般傳遞的參數不會很大,筆者覺得使用IsolatedStorageSetting就行了。如在傳遞的時候:
在將要跳轉的頁面中重寫方法OnNavigatedFrom,將需要傳遞的參數保存在State中:
在將要跳轉到的頁面中重寫方法OnNavigatedTo,從State中讀取字典數據:
以上的各種方法,在我們的項目中最這樣的布局,其實就是簡單地實現:
項目地址:http://files.cnblogs.com/waitingsky/NavigationPractice.rar