在WP7中,可以通过以下几种方式将参数传递给新页面:
- 使用NavigationService的Navigate方法传递参数:NavigationService.Navigate(new Uri("/NewPage.xaml?param1=value1¶m2=value2", UriKind.Relative));在新页面的OnNavigatedTo方法中,可以通过NavigationContext.QueryString获取传递的参数值:protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string param1 = NavigationContext.QueryString["param1"];
string param2 = NavigationContext.QueryString["param2"];
}
- 使用Application类的Properties集合传递参数:
在当前页面中设置参数值:App.Current.Properties["param1"] = value1;
App.Current.Properties["param2"] = value2;在新页面的OnNavigatedTo方法中,可以通过Application类的Properties集合获取传递的参数值:protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string param1 = App.Current.Properties["param1"] as string;
string param2 = App.Current.Properties["param2"] as string;
}
- 使用UriMapper传递参数:
在App.xaml.cs中定义UriMapper:UriMapper mapper = new UriMapper();
mapper.UriMappings.Add(new UriMapping { Uri = new Uri("/NewPage/{param1}/{param2}", UriKind.Relative), MappedUri = new Uri("/NewPage.xaml", UriKind.Relative) });
RootFrame.UriMapper = mapper;在当前页面中导航到新页面时,使用带参数的Uri进行导航:NavigationService.Navigate(new Uri("/NewPage/" + value1 + "/" + value2, UriKind.Relative));在新页面的OnNavigatedTo方法中,可以通过NavigationContext.QueryString获取传递的参数值:protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string param1 = NavigationContext.QueryString["param1"];
string param2 = NavigationContext.QueryString["param2"];
}
以上是在WP7中将参数传递给新页面的几种常用方式。这些方法可以根据具体的需求选择使用,以实现参数的传递和页面间的数据交互。对于更多关于WP7开发的信息,可以参考腾讯云的移动开发服务:腾讯云移动开发。