这个名字…命名空间中不存在

本文关键字:命名空间 不存在 | 更新日期: 2023-09-27 17:52:52

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

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

正如我所说的,当程序运行时,它确实工作得很好,但是设计器模式不能在我需要修改的表单之一上工作,这使它非常烦人。

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>

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

这个名字…命名空间中不存在

我认为您的问题是您的名称空间不正确。看一下您链接到的问题的顶部答案,并注意它们是如何使用示例名称空间的。因为你从一个不同的项目中获得枚举,所以你还需要将该项目添加为引用。

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

如果文件在文件夹中,可以这样写

 ProjectName.FolderName;assembly=ProjectName

如果没有,试试这样

ProjectName;assembly=ProjectName