C# 尝试在WPF中的页面之间导航时引发异常

C# 尝试在WPF中的页面之间导航时引发异常,c#,wpf,visual-studio,navigation,C#,Wpf,Visual Studio,Navigation,这是我用来在WPF应用程序中的页面之间导航的代码: MainMenu mainMenu = new MainMenu(); this.Content = mainMenu; 当从主菜单导航到我的某个页面时,它会工作,但对于此“后退”按钮,使用相同的代码,我会收到以下错误消息: “System.InvalidOperationException”类型的未处理异常 发生在PresentationFramework.dll中 附加信息:窗口必须是树的根。不能 将窗口添

这是我用来在WPF应用程序中的页面之间导航的代码:

        MainMenu mainMenu = new MainMenu();
        this.Content = mainMenu;
当从主菜单导航到我的某个页面时,它会工作,但对于此“后退”按钮,使用相同的代码,我会收到以下错误消息:

“System.InvalidOperationException”类型的未处理异常 发生在PresentationFramework.dll中

附加信息:窗口必须是树的根。不能 将窗口添加为Visual Studio的子级


我做错了什么?是否有更好的方式在页面之间导航?

在.xaml文件中添加以下代码:

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

您不需要在WPF中“在页面之间导航”,而是打开和关闭窗口,或者更改其内容。听起来像是在更改第一个窗口的内容(这是正常的,但不常见),然后尝试加载一个新窗口作为原始窗口的内容,这是不允许的。如果要使窗口像浏览器一样工作,请将所有页面(包括主菜单)定义为用户控件,并将其加载到窗口的内容中。不能将内容属性设置为窗口。
Downaload downaload = new Downaload();
ListPanel.Content = downaload;