【问题标题】:Exception thrown trying to navigate between pages in WPF尝试在 WPF 中的页面之间导航时抛出异常
【发布时间】: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


【解决方案1】:

将此代码添加到您的 .xaml 文件中:

 <Grid Grid.Row="0" Grid.Column="1">
            <ContentControl x:Name="ListPanel" />
 </Grid>

并将其添加到 .cs 文件中:

Downaload downaload = new Downaload();
ListPanel.Content = downaload;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2021-12-08
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多