Mango Jump Start 抜粋:ページ間でメッセージを渡す
Windows Phone アプリケーションの各ページは、基本的にステートレスとして考えるべきだがページ間でメッセージを渡したり、あるいはページをまたがって共通のデータクラスを持つことも可能。
以下はページ間でメッセージを渡す方法
1)移行元のページでナビゲーションを行う際にメッセージストリング("?msg=")を含める。
void OnGoSubPageBtnClick(object sender, RoutedEventArgs args) { NavigationService.Navigate(new Uri("/SubPage.xaml?msg=" + _msgTextBox.Text, UriKind.Relative)); }
2)移行先のページでページがアクティブになった際に発生するOnNavigatedToイベントをオーバライドする。
protected override void OnNavigatedTo(NavigationEventArgs args) { base.OnNavigatedTo(args); //メッセージを取得できたらUIに表示 string msg = ""; if(NavigationContext.QueryString.TryGetValue("msg", out msg)) { _msgTextBlock.Text = msg; } }