代码之家  ›  专栏  ›  技术社区  ›  Chris Holmes

无法使用WPF设计器,因为在XAML中找不到自定义基窗口类型,但代码隐藏可以

  •  4
  • Chris Holmes  · 技术社区  · 14 年前

    我正在WPF项目中使用一个基本窗口类。在代码隐藏的C#文件中,基类型的程序集被引用并且很好。在XAML中,如下所示:

    <MyNamespace:WindowBase x:Class="MyNamespace.Applications.UserInterface.MainWindow"
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                  xmlns:MyNamespace="clr-namespace:MyNamespace.Somewhere;assembly=MyNamespace.Common"
                    Title="MainWindow" Height="350" Width="525">
            <Grid>
        </Grid>
    

    这个解决方案编译得很好,我可以运行它。我就是不能在VS2010中使用设计师。它引发以下异常:

    好。他们一直是。我不明白这个问题是什么。这个特殊的基类可以很好地用于其他项目。我为一个新项目拿的,我不能用设计师。非常令人沮丧。

    4 回复  |  直到 14 年前
        1
  •  3
  •   Kieren Johnstone    14 年前

    最近发现这个问题(这个答案是从评论升级而来的)。

    如果从网络路径复制dll,则必须在Windows资源管理器中右键单击该文件,选择“属性”,然后选择“取消阻止”;由于安全原因,从网络下载或从网络路径复制时,存在与该文件相关联的隐藏NTFS流和许多文件。

        2
  •  1
  •   Goblin    14 年前

    每当设计师与我作对时,我做的第一件事就是清除项目中的obj文件夹并重新生成。有时它们似乎出于某种原因而不同步(通常是在我拖放大量文件并重命名可视化项目时)。

        3
  •  0
  •   Heinz K    14 年前

    我不知道这是否是同一个问题,但在VS2008中,我试图制作抽象用户控件,但不得不改变这一点,因为设计器不支持任何抽象基类(不过,该解决方案是可编译的,也可以作为例外)。

        4
  •  0
  •   Chris Holmes    14 年前

    固定的。包含我的基类的库位于网络上我没有权限访问的驱动器上。这似乎对vs2008没有任何影响,但是当设计师试图加载它时,vs2010显然是个例外。奇怪的。