我的WPF应用程序正变得非常痛苦。我创建了一个窗口,并且想在单击按钮时加载另一个页面。我以为这很简单,但事实并非如此。我设法通过使用this.content = new UserPage()加载另一页。但是,无法从此UserPage返回到主窗口。我不能使用this.content,因为窗口不能是孩子。

因此,我四处搜索,发现应该使用NavigationService使事情变得容易得多。我尝试使用NavigationService.GetNavigationService(this),但由于它始终返回null,因此无法正常工作。我想这是因为我的主窗口是从Window而不是NavigationWindow派生的。有没有一种方法可以将我的Window转换为NavigationWindow而无需再次启动项目?每当我创建一个新文件时,就没有NavigationWindow模板-只有Window,Page,User Control等。

我尝试用NavigationWindow手动替换XAML,并且运行良好,但是NavigationService方法仍然返回null。顶部也有一个带有后退和前进箭头(均已禁用)的栏,但是我并不是真的需要这个。我只想使用Navigate()方法,以便可以在页面之间轻松切换。
关于我能做什么的任何想法?

感谢您的帮助,这真让我发疯! :)

最佳答案

我尝试手动更换XAML
  与NavigationWindow一起运行,
  但是NavigationService方法仍然
  返回null


如果您的窗口已经是NavigationService,则不需要NavigationWindowNavigationWindow具有Navigate方法。

您也可以使用标准的Window并在其上放置Frame控件。除嵌入在窗口中外,它的工作原理大致类似于NavigationWindow

关于c# - NavigationWindow-它在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3487525/

10-12 00:09