属性名称 | 说明 |
BackStack | 获取一个 IEnumerable,它用于枚举后退导航历史记录中的条目。 |
CanGoBack | 获取一个值,该值指示在后退导航历史记录中是否至少存在一个条目。 |
CanGoForward | 获取一个值,该值指示在前进导航历史记录中是否至少存在一个条目。 |
CurrentSource | 获取当前显示的内容的统一资源标识符 (URI)。 |
Source | 获取或设置当前内容或导航到的内容的统一资源标识符 (URI)。 |
方法名称 | 说明 |
GoBack() | 导航到后退导航历史记录中的最新条目;如果后退导航时没有条目,则引发异常。所以在这里我们就注意了,我们可以先判断下是否可以后退,这就用到了上面我们介绍的CanGoBack属性了。 |
GoForward() | 导航到前进导航历史记录中的最新条目,如果前进导航时没有条目,则引发异常。对于 Windows Phone,该方法始终引发异常,因为没有前进导航堆栈。同样的我们也需要在这里判断是否可以导航到下一页【CanGoForward】 |
Navigate(Uri uri) | 对由统一资源标识符 (URI) 指定的内容的导航。参数为一个Uri对象 |
属性名称 | 说明 |
QueryString | 获取查询字符串值的集合。其结果是一个IDictionary |
<Button Content="跳转到第二页并带参数" Height="72" HorizontalAlignment="Left" Margin="53,220,0,0" Name="button1" VerticalAlignment="Top" Width="352" Click="button1_Click" />
<TextBlock Height="30" HorizontalAlignment="Left" Margin="27,107,0,0" Name="textBlock1" Text="参数值:" VerticalAlignment="Top" />
<TextBox Height="72" HorizontalAlignment="Left" Margin="129,84,0,0" Name="textBox1" Text="参数。。。" VerticalAlignment="Top" Width="460" />
</Grid>
private void button1_Click(object sender, RoutedEventArgs e)
Uri uri = new Uri("/Second.xaml?msg=" + textBox1.Text, UriKind.Relative);
NavigationService.Navigate(uri);
<TextBlock Height="30" HorizontalAlignment="Left" Margin="9,69,0,0" Name="textBlock1" Text="第一页传过来的值:" VerticalAlignment="Top" />
<TextBlock Height="30" HorizontalAlignment="Left" Margin="214,69,0,0" Name="textBlock2" Text="TextBlock" VerticalAlignment="Top" />
<Button Content="返回到上一页" Height="72" HorizontalAlignment="Left" Margin="54,230,0,0" Name="button1" VerticalAlignment="Top" Width="300" Click="button1_Click" />
</Grid>
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
if (NavigationContext.QueryString.TryGetValue("msg", out msg))
private void button1_Click(object sender, RoutedEventArgs e)
if (NavigationService.CanGoBack)
NavigationService.GoBack();