0

WP7 で MVVMLight を使用しているときに質問がありました。メッセージを作成し、以下のように ViewModel で別のページに移動する場合:

 var msg = new GoToPageMessage() { PageName = "Page2", Params="Index=1" };
 Messenger.Default.Send<GoToPageMessage>( msg );

MainPage.xaml で、次のように登録します。

Messenger.Default.Register<GoToPageMessage>( this, ( action ) => ReceiveMessage( action ) );

そして、以下のような ReceiveMessge:

  private object ReceiveMessage( GoToPageMessage action )
  {
     StringBuilder sb = new StringBuilder( "/Views/" );
     sb.Append( action.PageName );
     sb.Append( ".xaml" );
     NavigationService.Navigate(
        new System.Uri( sb.ToString()+"?"+action.Params, System.UriKind.Relative ) );
     return null;
  }

次のページの action.Params の解き方を知りたいです。それらを xxx.xaml.cs に書き込みたくありません。何か案が?

4

1 に答える 1

0

他のページのOnNavigatedToイベントでは、次の方法でパラメーターを照会できますNavigationContext.QueryString.Keys

于 2013-10-02T13:06:12.780 に答える