WPF根元素对导航无效

时间:2011-08-16 12:14:34

标签: wpf

我正在将WPF XBAP应用转换为WPF桌面应用。我让它在桌面上运行,但我现在正在尝试将页面引用更改为Window引用。

'MyApp.StartForm' root element is not valid for navigation.

我已经尝试创建此应用程序的简单版本并对其进行转换,这样可以正常工作,因此在使用Window标记时,XAML中必定存在导致此问题的内容。我的问题涉及我如何调查这一点。目前,我得到的只是这个错误,伴随着“无源可用”屏幕;没有显示堆栈位置,“Show Disassembly”不起作用。除了系统地评论XAML的各个块直到它工作,有没有办法解决这个问题是什么?

3 个答案:

答案 0 :(得分:6)

WPF应用程序中的导航只能在页面之间完成。错误显示是因为您正在尝试“导航”到现在的窗口,这是不可能的。

不是将您的页面转换为窗口,而是创建一个带有Frame控件的新窗口。 Frame可以用来托管您现有的页面 - 这些页面应保持原样,不能更改为Windows。

答案 1 :(得分:6)

关于无法在框架中托管窗口并不完全准确,以下代码将为您执行此操作

    public void HostWindowInFrame(Frame fraContainer, Window win) {
        object tmp = win.Content;
        win.Content = null;
        fraContainer.Content = new ContentControl() { Content = tmp };
    }

答案 2 :(得分:0)

请检查将页面作为根元素或其他其他内容的StartForm。我也一样。我检查了必须导航的页面。我将该页面声明为窗口。