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

本文关键字:包含 NavigationContext 定义 Windows Phone | 更新日期: 2024-09-23 03:01:31

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

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

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

在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;
}