我的 WPF 应用程序变得非常痛苦。我创建了一个窗口,并希望在单击按钮时加载另一个页面。我认为这很简单,但似乎并非如此。我设法通过使用 this.content = new UserPage()
加载其他页面。但是,从这个 UserPage,我无法返回到我的主窗口。我不能使用 this.content
因为窗口不能是子窗口。
因此,我四处搜索,发现我应该使用 NavigationService 来使事情变得容易得多。我尝试使用 NavigationService.GetNavigationService(this)
但这不起作用,因为它总是返回 null。我认为这是因为我的主窗口是从 Window
而不是 NavigationWindow
派生的。有没有办法在不重新启动项目的情况下将我的 Window 转换为 NavigationWindow?每当我创建一个新文件时,都没有 NavigationWindow 模板——只有窗口、页面、用户控件等...
我尝试用 NavigationWindow 手动替换 XAML,它运行良好,但 NavigationService 方法仍然返回 null。顶部还有一个带有后退和前进箭头(均已禁用)的栏,但我真的不需要这个。我只想使用 Navigate()
方法,这样我就可以轻松地在页面之间切换。
关于我可以做什么的任何想法?
感谢您的帮助,这让我抓狂! :)
最佳答案
I tried manually replacing the XAML with NavigationWindow and it ran fine, but the NavigationService method still returned null
如果您的窗口已经是 NavigationWindow
,则不需要 NavigationService
。 NavigationWindow
有一个 Navigate
方法。
您还可以使用标准的 Window
并在其上放置一个 Frame
控件。它的工作方式大致类似于 NavigationWindow
,只是它嵌入在一个窗口中
关于c# - NavigationWindow - 它在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487525/