代码改变世界

WP7备注(11)(页面跳转)

2011-04-27 11:16  血糯米Otomii  阅读(515)  评论(0编辑  收藏  举报

基本跳转:

跳转至目标页面:

this.NavigationService.Navigate(new Uri("/TargetPage.xaml",UriKind.Relative));

回退:

this.NavigationService.GoBack();

因为NavigationService符合Last-In-First-Out原则,所以,当页面调用GoBack方法时候,调用此方法的页面将被抛弃

而如果使用NavigationService.Navigate的方式跳转,则会重新创建一个跳转页面的新实例

携带数据跳转:

"/TargetPage.xaml?Red=0&Green=0&Blue=0"

protected override void OnNavigatedTo(NavigationEventArgs args)
{
IDictionary<string, string> parameters = this.NavigationContext.QueryString;
if (parameters.ContainsKey("Red"))
{
byte R = Byte.Parse(parameters["Red"]);
byte G = Byte.Parse(parameters["Green"]);
byte B = Byte.Parse(parameters["Blue"]);
ContentPanel.Background =
new SolidColorBrush(Color.FromArgb(255, R, G, B));
}
base.OnNavigatedTo(args);
}

跳转数据储存在NavigationContext.QueryString中

OnNavigatedTo与OnNavigatedFrom:

OnNavigatedTo方法在页面创建好后,就直接调用.

OnNavigatedFrom在离开页面之前进行调用.