开发者

Binding Enum[] to ListBox

I have next enumeration

Enum rcCategory
{
  Incoming,
  Internal,
  Outgoing
}

and I have property "categories" in my class which has rcCategory[] typ开发者_运维技巧e.

I would like to bind this property to the listBox. I use next code for this

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

But this code doesnt work as expected. How Can I do this. My listBox always is empty but source property has value


See Bea Stollnitz top ranked article on it.
In short you need to bind to an ObjectProvider which calls the static method Enum.GetValues( typeof(YourEnum) ) to return the list.

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

Update: Sorry got a slight speedreading issue. This one is easier.. Verified that it works. Recommended: Find up a copy of ProgrammingWPF and go thru the DataBinding chapter...

XAML:

<ListBox DockPanel.Dock="Left" ItemsSource="{Binding EnumArrayProp}"/>

Codebehind:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜