c# - NavigationWindow - 它在哪里?

标签 c# wpf navigation navigationwindow

我的 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,则不需要 NavigationServiceNavigationWindow 有一个 Navigate 方法。

您还可以使用标准的 Window 并在其上放置一个 Frame 控件。它的工作方式大致类似于 NavigationWindow,只是它嵌入在一个窗口中

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

相关文章:

c# - 配额不足,无法处理此命令 -WPF

wpf - 当我有 CurrentDomain.UnhandledException 和 DispatcherUnhandledException 时,应用程序仍然崩溃

css - li 中不影响其他 li 对象的 div

navigation - "Go to file"各种编辑器中的功能

c# - 以编程方式将面板的图像设置为不在资源中的 jpg 文件?

c# - .NET 毛伊岛 : Check checkbox when clicking on label

c# - 对象如何检测它何时被处理?

android - 使用导航 View 和工具栏不显示后退按钮

c# - 如何使用 http 请求调用 ApiController 中的方法?

wpf - DataTemplate.DataType = 集合<实体>?