在Windows Phone 8.1中不包含NavigationContext的定义

时间:2015-03-03 10:32:20

标签: c# windows-phone-8.1

当我在NavigationContext中处理此代码时,我收到错误。

protected void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) {
  base.OnNavigatedTo(e);   
  string parameterValue = NavigationContext.QueryString["parameter"];
}

1 个答案:

答案 0 :(得分:1)

在Windows Phone 8.1 RT模型应用程序中,无需以URI格式传递参数。现在您可以将它们作为对象发送。您可以为此创建自己的类,例如:

public class MyParametersClass
{
    public string Parameter1 { get; set; }
    public int Parameter2 { get; set; }
    public double Parameter3 { get; set; }
}

如果您想从一个页面导航到另一个页面,请使用Frame.Navigate()方法:

MyParametersClass myParameters = new MyParametersClass(); // Initialize parameters    
myParameters.Parameters1 = "Trololo"; // Let set some values

Frame.Navigate(typeof(SomePage), myParameters); // Navigate to some page with parameters

导航完成后,您可以使用名为Parameter的属性中的参数获取对象。您可以在要导航的页面中执行此操作。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    MyParametersClass myParameters = e.Parameter as MyParametersClass;
}