mrt*_*web 41 wpf xaml visual-studio-2015
我有一个由VS 2015构建的WPF解决方案,由几个项目组成.突然,我开始在设计模式中收到一条警告,说明如下:
"窗口"类型不支持直接内容.
我理解一些控件如何不支持直接内容,但System.Windows.Window应该如此.UserControl对于通常支持直接内容的任何其他控件,我得到了相同的警告,据我所知.
一切都编译好并且运行良好,但是在我的所有XAML中都有蓝色下划线是令人烦恼的.还有其他人遇到过这个吗?
以下是截图:
Mar*_*man 59
确保您引用System.Xaml.清理并重建项目.适用于VS 2015 Update 1.
Mic*_*ael 29
至少在WPF IronPython项目中,添加对项目的System.Xaml引用为我解决了问题:
这里要注意的一件重要事情是,添加看似任何引用都会使问题暂时消失- 直到Visual Studio重新启动.System.Xaml另一方面,似乎可以解决问题.我甚至尝试删除引用,然后在重新启动Visual Studio时返回问题.
对我来说,发生此错误是因为我向类库项目添加了 WPF 窗口。
出于某种原因(我不知道),如果项目不是作为WPF 应用程序创建的,Visual Studio 不会为我们提供从“添加新项目... ”对话框中选择WPF 窗口模板的选项。相反,它只提供添加WPF 用户控件的选项。因此,我为新项目选择了User Control模板,然后编辑源代码使 XAML 成为Window对象而不是User Control。
<!-- The new item was created as an UserControl, but what I needed was a Window object. -->
<UserControl>
   ...
</UserControl>
<!-- Changed it to Window and made other necessary adjustments. -->
<Window>
   ...
</Window>
问题实际上出在代码隐藏中。由于它是作为User Control创建的,因此窗口部分类继承自UserControl,如下所示:
public partial class MyWindow : UserControl
{
    public MyWindow ()
    {
        InitializeComponent();
    }
}
要修复它,我只需要删除继承,使我的窗口类从空继承,如下所示:
public partial class MyWindow
{
    public MyWindow ()
    {
        InitializeComponent();
    }
}
删除继承后,Visual Studio 没有显示错误“'Window' 类型不支持直接内容”。了。
| 归档时间: | 
 | 
| 查看次数: | 20795 次 | 
| 最近记录: |