【问题标题】:Show a page inside a Page in windows phone app在 Windows Phone 应用程序中的页面内显示页面
【发布时间】:2014-01-15 10:27:59
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么要在一个页面中显示一个页面?你能给出一些用例吗。可能还有其他方法可以解决您的问题
  • 便于管理代码。将所有特定功能保留在一个页面中,我不想将所有东西混合在一起。但不确定它是否是一个好主意。示例:我的 page1.xaml 使用了一些设置值,所以我保留一个 page2 来保存和编辑所有设置值,在 page1 中我只是使用所有这些设置值
  • 您应该创建一个 SettingsPage.xaml 并导航到它。使用已经布局的框架,而不是自己创建一个
  • 目前我正在这样做。导航到 Settings.xaml ,但我想在同一视图中显示页面
  • 继续这样做。这是最好的解决方案。如果您正在寻找页面转换,请查看 this blog

标签: windows-phone-8


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    不,你不能像 Igor Kulman 所说的那样。但是您可以根据需要使用新数据绑定所有内容并更改页面。(标题/内容/网格/全部:))

    【讨论】:

      【解决方案3】:

      很遗憾,您不能在单个页面中声明 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> 
      

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

      使第一个堆栈面板可见

      使第二个堆栈面板可见

      希望对你有帮助

      【讨论】:

      • 这个想法是正确的,但我想做的是轻松管理代码。将所有特定功能保留在一个页面中,我不想将所有东西混合在一起。但不确定它是否是一个好主意。示例:我的 page1.xaml 使用了一些设置值,所以我保留一个 page2 来保存和编辑所有设置值,在 page1 中我只是使用所有这些设置值,所以 page1 代码总是特定于 page1
      • 如果您希望保持代码的整洁和管理,那么我建议您改用用户控件。或者,如果您发现易于使用同一屏幕来保存和显示数据。然后你可以很容易地使用我推荐的方式。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      相关资源
      最近更新 更多