1. 程式人生 > >WPF Page之間跳轉時傳參

WPF Page之間跳轉時傳參

WPF中有Page這個東西,感覺和網頁的一個Html檔案有相似的地方,最近一直在為兩個頁面之間的跳轉傳參的問題煩惱。總感覺應該有某種簡單的方法在兩個頁面之間傳遞引數,使用搜索引擎搜了很久也沒有找到想要的答案。今天終於在msdn上找到了答案,故在此記錄,同時可以分享給廣大網友。

個人對這個東西的用處是這樣理解的,有兩個頁面PageA和PageB,使用者在PageA中進行了一些資料的錄入,而PageB的作用就是把在PageA中填寫的資料顯示出來,雖然可以通過PageA將資料放在某個地方(比如資料庫,靜態欄位等),然後PageB再去那個地方將資料取出。但是總感覺那樣做並不是一個好的做法,並且還容易在程式中新增一些不是很有必要的欄位或方法。而最好的方法莫過於直接PageA在跳轉PageB的時候就把這個資料傳遞給PageB。下面是微軟的例項原始碼

void goButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new ContentPage(), DateTime.Now);
}
void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
{
    DateTime requestDateTime = (DateTime)e.ExtraData;
    string msg = string.Format("Request started {0}\nRequest completed {1}", requestDateTime, DateTime.Now);
    MessageBox.Show(msg);
}

通過這種方式,就可以在跳轉的時候將引數傳遞,而如何在xaml程式碼中指定引數還在尋找中,找到了會及時記錄的。