2012年5月11日金曜日

[Windows Phone]画面遷移

画面遷移で値を渡す際の方法についてです。
大筋ではWebページ的な感覚で良いようです。

まず、値を渡さないで画面遷移するとき。
  1. NavigationService.Navigate(new Uri("/next.xaml", UriKind.Relative));   

同じように、値を渡さないで画面を戻るとき。
  1. NavigationService.GoBack();   

画面間で値を渡す時はget引数で設定すればよいらしい。
  1. NavigationService.Navigate(new Uri("/next.xaml?param=value", UriKind.Relative));   

受け取り側はこんな感じ
  1. NavigationContext.QueryString.TryGetValue("param"out value);  


画面が戻る場合に値がほしいとき、ちょっと良い方法が見つかりませんでした。
とりあえず、IsolatedStorageSettingsを使って値を持っておき、戻った画面のLoadedイベントで取り出す方法を使いました。
セッション感覚で使っています。

渡す側:
  1. IsolatedStorageSettings appstore = IsolatedStorageSettings.ApplicationSettings;  
  2. appstore["key"] = value;  
受け取る側:
  1. IsolatedStorageSettings appstore = IsolatedStorageSettings.ApplicationSettings;  
  2. String value = Convert.toString(appstore["key"]);  

参考:「ページ間でナビゲーションを行う際のイベントのシーケンス図


0 件のコメント: