WP7:将参数传递给新页面?

Sam*_*Sam 23 parameter-passing windows-phone-7

在Windows Phone 7 Silverlight应用程序中,我使用调用新页面

NavigationService.Navigate(new Uri("/View/SecondPage.xaml", UriKind.Relative));
Run Code Online (Sandbox Code Playgroud)

现在我想将参数传递给新页面.我理解一个简单的参数可以使用:

NavigationService.Navigate(new Uri("/View/TilgungsratePage.xaml?id=4711", UriKind.Relative));
Run Code Online (Sandbox Code Playgroud)

并使用在新页面中阅读

protected override void OnNavigatedTo(Microsoft.Phone.Navigation.PhoneNavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    String id = NavigationContext.QueryString["id"]; 
} 
Run Code Online (Sandbox Code Playgroud)

对于简单参数,这没关系,但如何传递列表?
复杂的物体?
什么,但简单的价值观?

Lar*_*ars 21

在他的书"编程Windows Phone 7"(第6章,第3节,"在页面之间共享数据")中,Charles Petzold推荐了App类中的属性(派生自Application).每个页面都可以访问它Application.Current.字典也很有趣PhoneApplicationService.Current.State.这对墓碑很有用.整章可能对阅读很有意思.