Привязка Enum [] к ListBox - PullRequest
0 голосов
/ 20 мая 2010

У меня есть следующее перечисление

Enum rcCategory
{
  Incoming,
  Internal,
  Outgoing
}

и у меня есть свойство "категории" в моем классе с типом rcCategory [].

Я бы хотел привязать это свойство к списку. Я использую следующий код для этого

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

Но этот код работает не так, как ожидалось. Как я могу это сделать. Мой listBox всегда пуст, но свойство источника имеет значение

1 Ответ

1 голос
/ 20 мая 2010

См. Статью Bea Stollnitz в топе.
Короче говоря, вам нужно привязать к ObjectProvider, который вызывает статический метод Enum.GetValues ​​(typeof (YourEnum)) для возврата списка.

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

Обновление: извините, возникла небольшая проблема со скоростью чтения. Этот легче .. Проверено, что это работает. Рекомендуется: найти копию ProgrammingWPF и перейти к главе «Привязка данных» ...

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;

       }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...