Windows Phone页面间传值
1、Query String例如URL定为/SecondPage.xaml?id=1,然后在SecondPage中通过NavigationContext.QueryString[“id”]取得对应的值。如果有多个属性,也可以通过&符号连接多个属性。如:/SecondPage.xaml?Name=MyName&Amount=100。注意所有的query string必须是string,如果是int之类的数值必须作类型转换,不能使用复杂类型。
2、全局变量一个常见的做法是在App中定义一个属性,例如MyVariable。然后你可以通过(Application.Current as App).MyVariable的方式访问那个属性,读写均可。
3、在跳转的目标页面中定义一个属性,在当前页面中重写OnNavigatedFrom,然后判断e.Content的类型是不是要跳转到的页面,如果是,就做个类型转换,并访问对应的属性。例如假设从FirstPage转到SecondPage,可以在FirstPage的OnNavigatedFrom中写
if (e.Content is SecondPage)
{
var v = (e.Content as SecondPage).SomeProperty;
}
至于从page B返回参数给page A,和从page A传参数到page B是一样的,就是把A当成second page,把B当成first page即可。也可以使用query string,全局变量,或者在B中定义一个属性。