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 回答