从桌面 WPF 应用程序中的页面导航到新页面或窗口

Posted

技术标签:

【中文标题】从桌面 WPF 应用程序中的页面导航到新页面或窗口【英文标题】:navigate to a new page or window from a page in a desktop WPF application 【发布时间】:2013-10-04 17:24:24 【问题描述】:

如何从桌面 WPF 应用程序中的页面导航到新页面或 Window。我尝试了以下方法来调用 Windows 页面,但出现错误:

窗口必须是树的根。无法将 Window 添加为 Visual 的子项

private void btCode_Click(object sender, RoutedEventArgs e)

    CodeView window = new CodeView(cbRe.Text, txtID.Text);
    this.Content = window;

当我更改代码以调用新页面时,我收到一个类似的错误,提示必须从 Window 调用页面。

【问题讨论】:

【参考方案1】:

打开一个窗口的页面

myWindow w = new myWindow();
         w.Show();

导航到新页面

myPage p = new myPage();
       myFrameInCurrentWindow.Navigate(p);

【讨论】:

【参考方案2】:

看看wpf的导航功能:http://msdn.microsoft.com/en-us/library/ms750478.aspx

【讨论】:

【参考方案3】:

如错误所述,Windowelement 必须是根元素 - 它不能是另一个控件的子元素。您可以打开另一个控件的窗口,但不能使窗口成为另一个控件的内容。

【讨论】:

以上是关于从桌面 WPF 应用程序中的页面导航到新页面或窗口的主要内容,如果未能解决你的问题,请参考以下文章

在 WPF Frame 控件中关闭导航页面声音

如何在 MVVM 模式中从页面导航到 WPF 中的页面?没有棱镜的概念[重复]

用于 WPF 导航的窗口、页面和用户控件?

从框架内关闭 wpf 窗口

WPF 中页面和窗口之间的导航

页面(视图)之间的 C# WPF 导航