Windows phone 7 WP7:是否将参数传递到新页面?

Windows phone 7 WP7:是否将参数传递到新页面?,windows-phone-7,parameter-passing,Windows Phone 7,Parameter Passing,在WindowsPhone7Silverlight应用程序中,我使用 NavigationService.Navigate(new Uri("/View/SecondPage.xaml", UriKind.Relative)); 现在我想将参数传递到新页面。我知道可以使用以下方法传递一个简单的参数: NavigationService.Navigate(new Uri("/View/TilgungsratePage.xaml?id=4711", UriKind.Relative)); 并使用

在WindowsPhone7Silverlight应用程序中,我使用

NavigationService.Navigate(new Uri("/View/SecondPage.xaml", UriKind.Relative));
现在我想将参数传递到新页面。我知道可以使用以下方法传递一个简单的参数:

NavigationService.Navigate(new Uri("/View/TilgungsratePage.xaml?id=4711", UriKind.Relative));
并使用

protected override void OnNavigatedTo(Microsoft.Phone.Navigation.PhoneNavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    String id = NavigationContext.QueryString["id"]; 
} 
对于简单参数,这是可以的,但如何传递列表?
复杂对象?

除了简单的值之外还有什么吗?

您还应该看看MVVM模式和messenger类

以下是一些参考资料:


在他的书(第6章第3节,“页面间共享数据”)中,Charles Petzold推荐了
应用程序
类中的属性(源自
应用程序
)。每个页面都可以通过
应用程序访问。当前
。另一个有趣的是字典
PhoneApplicationService.Current.State
。这对墓志铭很有用。阅读本章可能很有趣。

看看我是如何在PhoneCore框架中实现导航的:。很快,我在WP7导航的基础上构建了我的导航服务。它使用自定义页面映射,并允许传递自定义参数以自动查看模型。

您应该将对象保存到IsolatedStorage


只需使用Json.net库序列化它,并将字符串保存到IsolatedStorage。在下一页中,从IsolatedStorage获取字符串,并将其转换回json.net库中所需的对象

使用全局变量,为全局变量创建一个新类:

public static class GlobalVariables
{
   public static string my_string = "";
   public static int my_int = -1;
}
然后可以访问不同页面的全局变量类:

GlobalVariables.variable_name;

我认为仅仅在不同观点之间传递信息就太过分了。把数据放到App对象中更好。也看看这篇文章:看看这个链接上的最后一个方法:看看这个问题,如果你不想有全局状态,还有其他方法