2010-05-20 90 views
0

我旁邊枚舉綁定枚舉[]以列表框

Enum rcCategory 
{ 
    Incoming, 
    Internal, 
    Outgoing 
} 

和我在類具有rcCategory []類型具有屬性「類別」。

我想將此屬性綁定到listBox。我使用此代碼

MyListBox.SetBinding (ListBox.ItemsSource, new Binding {Source= myClass.categories}); 

但是,此代碼並不按預期工作。 我該如何做到這一點。我的列表框始終是空的,但源屬性有價值

回答

1

請參閱Bea Stollnitz在它上面排名最高的文章。
總之,您需要綁定到調用靜態方法Enum.GetValues(typeof(YourEnum))的ObjectProvider以返回列表。

http://bea.stollnitz.com/blog/?p=28

更新:對不起了輕微的快速閱讀的問題。這一個更容易..驗證它的作品。推薦:找到了ProgrammingWPF的副本,我們將向您的數據綁定章...

XAML:

<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; 

     } 
+0

我讀這篇文章。但是在這個僅僅將簡單的枚舉綁定到ListBox的例子中。我的問題與枚舉[]不簡單枚舉 – Polaris 2010-05-20 06:14:42

+0

@寶麗 - 對不起。更新的答案。 – Gishu 2010-05-20 06:56:39

+0

這是有效的。謝謝 – Polaris 2010-05-20 07:02:22