1

我目前不确定当我从 WP8.1 中的另一个页面传递一个字符串时应该如何读取参数。这实际上是我在导航到另一个页面时用来传递参数的代码:

String[] parameters = new String[3];
parameters[0] = ReliabilitySwitch.IsEnabled.ToString();
if (i != 2)
{
    parameters[1] = UnitsList.SelectedItem.ToString();
    parameters[2] = MethodSwitch.IsEnabled.ToString();
}
else
{
    parameters[1] = "2";
}    
Frame.Navigate(typeof(Nav),parameters);

这就是说,我不确定我应该如何从其他页面读取我传递的参数。例如,我知道如何读取整数值。我试过像这样读取这个参数,但在这个过程中我肯定会丢失一些数据:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    String parameters;
    parameters = e.Parameter.ToString();
}
4

2 回答 2

5

e.parameter是类型object。只需将其转换回其原始类型:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    String[] parameters = (String[])e.Parameter;
}
于 2014-04-08T09:53:04.440 回答
1

对于 Windows 手机:

NavigationService.Navigate(new Uri("/View.xaml?QueryStringParameter=myValue", UriKind.Relative));

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    String parameter = NavigationContext.QueryString["QueryStringParameter"];

    // OR

    string param;
    if (NavigationContext.QueryString.TryGetValue(
        "QueryStringParameter", out param)
    {
        // a parameter exists. work with the value
    }

}
于 2014-04-08T09:51:54.530 回答