使用VS2017创建WPF应用程序。我有一个像这样的枚举:
namespace Sample.Common
{
public enum SmPageTypes
{
Type1 = 0,
Type2 = 1
}
}
我正在尝试以xaml形式使用它,但出现错误:
名称空间“ clr-Sample.Common; assembly = Sample”中不存在名称“ SmPageTypes”。
这是xaml代码 添加名称空间:
xmlns:CommonAlias="clr-namespace:Sample.Common;assembly=Sample"
并将枚举添加为资源:
<Window.Resources>
<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="CommonAlias:SmPageTypes" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
我添加了包含此枚举的项目,试图清理,重新启动Visual Studio,使用管理员权限重建解决方案,更改平台目标和配置,但没有帮助。我还能做什么?
答案 0 :(得分:1)
如果枚举和XAML位于不同的项目中,则包含XAML的项目必须引用包含该枚举的项目。
右键单击XAML项目,选择“添加引用”,然后向您的枚举项目添加引用。
答案 1 :(得分:0)
在VS中,右键单击您的解决方案->属性->配置属性
打开一个新对话框,尝试将项目配置从“调试”更改为“发行”,反之亦然。
之后,重新构建您的解决方案。它可以解决您的问题
答案 2 :(得分:0)
我已经解决了问题。原因是程序集名称应为Sample.Common,而不是Sample。