【问题标题】:Navigate to new page in same window在同一窗口中导航到新页面
【发布时间】:2016-12-16 16:42:48
【问题描述】:

我想单击一个按钮并导航到一个新页面,而不是让第二个窗口出现在第一个窗口的顶部。这些页面是复杂代码的视图(例如,实际游戏)。我真的不想使用导航窗口,因为我不想出现前进和后退箭头。下面代码的错误是“ns”(NavigationService)为空。我如何实现我想做的工作?

private void btnLevelDesigner_Click(object sender, RoutedEventArgs e)
{
    NavigationService ns = NavigationService.GetNavigationService(this);
    LevelDesignerPage levelDesignerPage = new LevelDesignerPage();
    ns.Navigate(levelDesignerPage);
}

【问题讨论】:

  • 您是否将页面托管在框架中?我看不出上面的 sn-p 应该打开一个新窗口而不是显示新页面的原因。
  • 它不会打开任何东西,因为 ns 为空。我只是说我不想打开一个新窗口来解释我想要什么。没有框架。谢谢。
  • 我问你的是正确的,你标记为答案。如果您需要分页导航基础,则必须在 Frame(提供导航服务)内托管“页面”,或创建 WPF 分页应用程序。

标签: c# wpf


【解决方案1】:

我会在你的主窗口中插入一个框架 - http://msdn.microsoft.com/en-us/library/system.windows.controls.frame.aspx

此框架具有 NavigationService 属性,可让您更改框架的内容。它还应该可以用于从框架的内部内容访问导航服务。

关于后退/前进箭头 - 查看ShowNavigationUI 属性

【讨论】:

  • 谢谢!我使用了 NavigationWindow 方法并删除了前进/后退箭头。这外观和使用框架差不多? (有问题的新图片编辑)。看起来很完美。谢谢!
  • 我还没有制作下一页所以它显示为空白,但我可以说它有效
  • 外观应该是一样的——或者至少它们都可以配置为完全不可见(不是内容,而是边框、边距、填充...)
猜你喜欢
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
相关资源
最近更新 更多