我的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
,则不需要NavigationWindow
。 NavigationWindow
具有Navigate
方法。
您也可以使用标准的Window
并在其上放置Frame
控件。除嵌入在窗口中外,它的工作原理大致类似于NavigationWindow
关于c# - NavigationWindow-它在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3487525/