这个名字…命名空间中不存在
本文关键字:命名空间 不存在 | 更新日期: 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