前言
使用一個簡單的範例介紹如何切換頁面, 基本上會用到Frame的Navigate()作為頁面切換的方法, 以及實作OnNavigatedTo 處理頁面切換時的動作假設今天我們要設計一支程式, 在主頁面(MainPage)上顯示顧客(Person)資料, 並且提供按鈕(Edit), 讓使用者按下去之後, 切換主頁面到編輯頁面(EditPage)修改資料, 使用情境如下:
情境一:使用者在主頁(MainPage)點擊Edit按鈕
情境二:使用者在編輯頁(EditPage)點擊Save按鈕
Data Model
- 我們首先建立一個Person的類別來表示顧客資訊
MainPage Code-Behind
- 我們在這邊宣告Person, 用來作UI元件的 Data Binding的目標物件
- 將DataContext 設為 this (作為UI元件的Data Binding的來源)
- 實作Edit按鈕的Click Event handler, 在這個函式內我們從Window.Current.Content取得 root frame 的實體, 然後呼叫它的 Navigate 方法去切換頁面並且把現在的Person資訊傳給EditPage
- 複寫(override) OnNavigatedTo 處理當頁面被切換回MainPage時, 我們要去更新Person
MainPage.xaml
- 我們在這邊建立兩個TextBlock並且綁定Code-behind裡的Person.Name, 和Person.Id
EditPage Code-Behind
- 這邊做的事情其實跟MainPage差不多, 宣告Person, 設定DataContext
- 複寫OnNavigatedTo, 拿MainPage傳過來的Person更新EditPage現在的
- 實作按鈕Click Event handler處理頁面切換的動作並傳遞更新後的Person給MainPage
EditPage.xaml
- 在這個頁面供TextBox顯示MainPage傳過來的Person資訊, 以及提供按鈕Save去切換頁面, 然後將更新後的Person回傳給MainPage
感謝您的分享,簡單又實用,但MainPage.xaml畫面您貼錯圖了
回覆刪除謝謝您的發現, 我已經更新了 MainPage.xaml 的程式碼了
刪除