在Windows Phone应用中显示页面内的页面

时间:2014-01-15 10:27:59

标签: windows-phone-8

是否可以在另一个PhoneApplication页面中显示PhoneApplicationPage。 例如,如果我使用HomePage.xaml中的以下代码加载应用程序的page1

NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.RelativeOrAbsolute));

我想显示一个新的页面说Page2.xaml,我可以使用相同的上面的代码导航到这个页面,但我不想打开它作为一个单独的页面,而是想打开里面的Page2.xaml Page1.xaml本身可以是弹出窗口或其他方式,因此当用户关闭Page2时,它将显示处于状态的Page1

3 个答案:

答案 0 :(得分:0)

如果您使用UserControl而不是Page,则可以打开/关闭其可见性(而不是导航)。

答案 1 :(得分:0)

不,你不能不喜欢伊戈尔库尔曼说。但您可以根据需要使用新数据绑定所有内容和更改页面。(标题/内容/网格/全部:))

答案 2 :(得分:0)

不幸的是,您无法在单个页面中声明2个PhoneApplicationPage标记。你仍然可以尝试一些技巧。

你可以制作PhoneApplicationPage的假人像这样

如果这是你的layoutRoot

<Grid x:Name="LayoutRoot" Background="Transparent">
 </Grid> 

然后您可以在单个layoutroot标签中制作2个页面并相应地控制它们的可见性。 只需删除行定义并放置两个堆栈面板。现在这些堆叠板跨越整个网格。

这样的事情有帮助

<Grid x:Name="LayoutRoot" Background="Transparent">
<StackPanel Name="Page1" Background="Red" Visibility="Visible"/>
<StackPanel Name="Page2" Background="Black" Visibility="Collapsed"/> 
</Grid> 

以下两张图片更好地描述了您的解决方案。

使第一个堆栈面板可见

enter image description here

使第二个堆叠面板可见

enter image description here

希望它有助于