【发布时间】:2018-12-11 10:23:10
【问题描述】:
这是我用来在 WPF 应用程序中的页面之间导航的代码:
MainMenu mainMenu = new MainMenu();
this.Content = mainMenu;
从主菜单导航到我的一个页面时它可以工作,但是对于这个“后退”按钮,使用相同的代码,我收到以下错误消息:
“System.InvalidOperationException”类型的未处理异常 发生在 PresentationFramework.dll 中
附加信息:窗口必须是树的根。不能 将 Window 添加为 Visual 的子级。
我做错了什么,是否有更好的方法在页面之间导航?
【问题讨论】:
-
您不会在 WPF 中“在页面之间导航”,而是打开和关闭窗口,或更改其内容。听起来您正在更改第一个窗口的内容(这可以但不寻常),然后尝试将新窗口加载为原始窗口的内容,这是不允许的。如果您想让窗口像浏览器一样,请将您的所有页面(包括主菜单)定义为 UserControls 并将它们加载到窗口的内容中。
-
您不能将 Content 属性设置为窗口。
标签: c# wpf visual-studio navigation