2014-06-18 54 views
2

这是我的问题。 我有一个包含组合框的WPF应用程序。 我想将此组合框绑定到其他项目的枚举。如何在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 
    }; 
} 

我有这样的错误:

名称 “MyEnum”不存在于名称空间“clr-namespace:Adapter”中。

我错了什么?

回答

2

您应该添加对其他项目的引用,然后将otherProjectNamespace命名空间定义为xmlns:otherProjectNamespace="clr-namespace:Adapter;assembly=MyOtherProject"

如果您未指定程序集,则编译器会尝试在当前程序集(即应用程序的程序集)中找到Adapter命名空间。

相关问题