Windows phone 7 WP7:是否将参数传递到新页面?
在WindowsPhone7Silverlight应用程序中,我使用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)); 并使用
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对象中更好。也看看这篇文章:看看这个链接上的最后一个方法:看看这个问题,如果你不想有全局状态,还有其他方法