将 class 导航数据传递到其他页面 Windows Phone 8.1

Passing class data on navigation to other page Windows Phone 8.1

我有一个class

class PTD
{
  public string Player1 { get; set; }
  public string Player2 { get; set; }
}

Page1 有 2 个文本框和 1 个按钮。 按钮点击方法有以下代码:

PTD ptd = new PTD();
ptd.Player1=textbox1.text.ToString();
ptd.Player2=textbox2.text.ToString();

NavigationService.Navigate(new Uri ("/Page2.xaml?msg=", UriKind.RelativeOrAbsolute));

在第 2 页上,我有 2 个文本块,我希望我的 class 数据显示在导航中。 我应该编写什么附加代码来执行此操作?

在 Windows Phone 8.0 和 Windows Phone Silverlight 8.1 中,您可以使用 NavigationService 进行页面导航。

您可以将字符串作为 'Navigation Uri' 的参数传递。

NavigationService.Navigate(new Uri (
    string.Format("/Page2.xaml?player1={0}&player2={1}", ptd.Player1, ptd.Player2), 
    UriKind.RelativeOrAbsolute));

然后在 Page2 中,您可以像这样在 OnNavigatedTo 方法中接收 2 个参数:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    string player1;
    NavigationContext.QueryString.TryGetValue("player1", out player1);
    string player2;
    NavigationContext.QueryString.TryGetValue("player2", out player2);
}