1

String ではなく Object を使用して、ある xaml ページから別の xaml ページに移動する必要があります。

現在のコードは:

  private void Border_ManipulationStarted(object sender,    System.Windows.Input.ManipulationStartedEventArgs e)
{
     string uri = "/PhonePageOne.xaml?Text=";
     uri += txtBox.Text;
     NavigationService.Navigate(new Uri(uri, UriKind.Relative));
}

URLにテキストを渡したくありません。以下のように代わりにオブジェクトを渡す必要があります。これを行う方法はありますか?

Person p = new person();
uri+=p
4

3 に答える 3

11

最初のページで次の操作を行います。

PhoneApplicationService.Current.State["param"] = p;
NavigationService.Navigate(new Uri("/PhonePageOne.xaml", UriKind.Relative));

そして2番目にパラメータを取得します:

Person p = PhoneApplicationService.Current.State["param"] as Person;

辞書は、PhoneApplicationService.Stateアプリが非アクティブ化されるまで保持される一時的な保存場所です。

他のオプションは、たとえば、静的メンバーを宣言し、App.xaml.csそれを使用して 1 つのページからオブジェクトを保存し、2 番目のページから取得することです。

于 2013-08-29T06:48:36.230 に答える
0

Messenger --> MVVM Light を使用できます。MVVM の高度な使用法です。メッセンジャーを宣言する/ビューモデルにメッセンジャーを登録する/必要なものを送信する:) http://mvvmlight.codeplex.com/

于 2013-08-29T11:52:53.867 に答える