Wpf 将枚举[]绑定到列表框

Wpf 将枚举[]绑定到列表框,wpf,binding,enums,Wpf,Binding,Enums,我有下一个例子 Enum rcCategory { Incoming, Internal, Outgoing } 我的类中有属性“categories”,它的类型是rcCategory[] 我想将此属性绑定到列表框。我使用下一个代码 MyListBox.SetBinding (ListBox.ItemsSource, new Binding {Source= myClass.categories}); 但是这段代码并没有像预期的那样工作。 我怎样才能做到这一点。“我的列表框”始终

我有下一个例子

Enum rcCategory
{
  Incoming,
  Internal,
  Outgoing
}
我的类中有属性“categories”,它的类型是rcCategory[]

我想将此属性绑定到列表框。我使用下一个代码

MyListBox.SetBinding (ListBox.ItemsSource, new Binding {Source= myClass.categories});
但是这段代码并没有像预期的那样工作。
我怎样才能做到这一点。“我的列表框”始终为空,但源属性具有值

请参阅Bea Stollnitz关于它的排名靠前的文章。
简而言之,您需要绑定到一个ObjectProvider,它调用静态方法Enum.GetValues(typeof(YourEnum))来返回列表

更新:抱歉,出现了轻微的快速阅读问题。这个比较容易。。验证它是否有效。推荐:找到一份ProgrammingWPF的副本并浏览数据绑定一章

XAML:


我读了这篇文章。但在这个将简单枚举绑定到ListBox的唯一示例中。我的enum[]问题不是简单的enum
<ListBox DockPanel.Dock="Left" ItemsSource="{Binding EnumArrayProp}"/>
public partial class Window1 : Window
   {
       public rcCategory[] EnumArrayProp
       {
           get; set;
       }
       public Window1()
       {
           InitializeComponent();

           this.EnumArrayProp = new rcCategory[] { rcCategory.Incoming, rcCategory.Incoming, rcCategory.Outgoing };

           this.DataContext = this;

       }