名称 ... 在名称空间中不存在

The name ... does not exist in the namespace

这个问题和this one差不多。但是我的问题是我得到了这个错误,但它确实编译 运行 并找到它。

我的 XAML 错误是一个资源字典(在不同的项目中),它试图在一种样式中使用名为 MainViewMode 的枚举。我继承了以前团队的代码,所以我不知道为什么它最初是这样写的,但是 xaml 包含图标的所有路径数据(使用 <geometry> 标签)以及所有的风格。我不认为这与问题相关,但我只是想无论如何我都会强调它。

正如我所说,当程序 运行s 时它确实工作正常,但是设计器模式无法处理我需要修改的表单之一,这真的很烦人。

xmlns:cenum="clr-namespace:ABC;assembly=DEF"
...
  <Style x:Key="MainViewToggleButtonStyle" TargetType="ToggleButton">
     <Setter Property="SnapsToDevicePixels" Value="true" />
     <Setter Property="OverridesDefaultStyle" Value="true" />
     <Setter Property="CommandParameter" Value="{x:Static cenum:MainViewMode.Overview}" />
...
</style>

我有一个资源字典,它在另一个项目中调用一个枚举并说找不到它。然而,它确实在 运行 时间找到它并且工作正常。 主要问题是设计器不加载任何使用此资源字典的表单。

我认为您的问题是您的命名空间不正确。查看您链接到的问题中的最佳答案,并注意它们如何具有示例命名空间。由于您从不同的项目中获取枚举,因此您还需要将该项目添加为参考。

要获得正确的命名空间,请找到枚举 class 所在的文件夹,或者如果它不在文件夹中,则只需找到项目名称。命名空间将类似于以下之一,

如果它在文件夹中,请尝试这样的操作

 ProjectName.FolderName;assembly=ProjectName

如果不行就试试这个

ProjectName;assembly=ProjectName