web-dev-qa-db-ja.com

WP7:パラメータを新しいページに渡しますか?

Windows Phone 7 Silverlightアプリケーションでは、を使用して新しいページを呼び出します

NavigationService.Navigate(new Uri("/View/SecondPage.xaml", UriKind.Relative));

次に、パラメータを新しいページに渡します。以下を使用して単純なパラメーターを渡すことができることを理解しています。

NavigationService.Navigate(new Uri("/View/TilgungsratePage.xaml?id=4711", UriKind.Relative));

を使用して新しいページを読みます

protected override void OnNavigatedTo(Microsoft.Phone.Navigation.PhoneNavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    String id = NavigationContext.QueryString["id"]; 
} 

単純なパラメータの場合、これは問題ありませんが、リストを渡すにはどうすればよいですか?
複雑なオブジェクト?
単純な値以外はありますか?

23
Sam

彼の著書 "Programming Windows Phone 7" (第6章、セクション3、「ページ間でのデータの共有」)Charles Petzoldは、Appクラス(Application)。すべてのページは、Application.Currentを介してアクセスできます。辞書PhoneApplicationService.Current.Stateも興味深いです。ツームストーンニングに便利です。章全体が読むのに面白いかもしれません。

21
Lars

また、MVVMパターンとメッセンジャークラスも確認する必要があります。

ここにいくつかの参照があります:

MVVMの概要

MVVM Foundation Messenger

良いSO MVVM Lightからのメッセンジャーに関する質問

MVVM Lightブログ

2
Chris Nicol

グローバル変数を使用して、GlobalVariablesの新しいクラスを作成します。

public static class GlobalVariables
{
   public static string my_string = "";
   public static int my_int = -1;
}

次に、さまざまなページのグローバル変数クラスにアクセスできます。

GlobalVariables.variable_name;
0
jihchuan

phoneCoreフレームワークでナビゲーションを実装した方法を見てください: WP7アプリケーションを構築するためのフレームワーク 。間もなく、WP7ナビゲーションの上にナビゲーションサービスを構築しました。カスタムページマッピングを使用し、カスタムパラメータを渡してモデルを自動的に表示できます。

0
Ilya Builuk