这是我的问题。 我有一个包含组合框的WPF应用程序。 我想将这个组合框绑定到另一个项目的枚举。
在我的应用程序(AdapterApp)中,我尝试了这个:
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:Adapter"
<Window.Resources>
<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:MyEnum"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" HorizontalAlignment="Left" Margin="117,113,0,0" VerticalAlignment="Top" Width="150"/>
在我的其他项目中:
namespace Adapter
{
public enum MyEnum
{
Lent = 0,
Rapide
};
}
我有这个错误:
名称&#34; MyEnum&#34;命名空间中不存在&#34; clr-namespace:Adapter&#34;。
我错了什么?
答案 0 :(得分:2)
您应该添加对其他项目的引用,然后将otherProjectNamespace
名称空间定义为xmlns:otherProjectNamespace="clr-namespace:Adapter;assembly=MyOtherProject"
。
如果未指定程序集,编译器会尝试在当前程序集中找到Adapter
命名空间(即组件应用程序)。