2013-06-13 3 views
1

У меня есть перечисление, которое привязывается к ComboBox на мой взгляд.Связать перечисление с ObjectDataProvider

public enum MyItems 
{ 
    [Browsable(false)] 
    Item1, 

    [Browsable(true)] 
    Item2, 

    [Browsable(false)] 
    Item3, 

    [Browsable(true)] 
    Item4, 
} 

В целях я использую ObjectDataProvider

<ObjectDataProvider x:Key="eMyItems" MethodName="GetValues" 
         ObjectType="{x:Type System:Enum}"> 
     <ObjectDataProvider.MethodParameters> 
      <x:Type TypeName="Enums:MyItems"/> 
     </ObjectDataProvider.MethodParameters> 
    </ObjectDataProvider>: 

Мой ComboBox выглядеть следующим образом:

<ComboBox ItemsSource="{Binding Source={StaticResource eMyItems}}" SelectedValue="{Binding Item}"/> 

Проблема заключается в том, что я вижу все самые Enum даже те, что над ними есть [Browsable(false)].

enter image description here

Что мне не хватает?

+0

возможно дубликат [WPF Data Binding: Как данные связать перечисление в поле со списком с помощью XAML? ] (http://stackoverflow.com/questions/4306743/wpf-data-binding-how-to-data-bind-an-enum-to-combo-box-using-xaml) – Alberto

+0

У XAML нет концепции пропуска перечисления, отмеченные [Browsable (ложь)]. BrowsableAttribute для интерактивных окон свойств во время разработки, не более того. Другой связанный вопрос SO просто пересматривает его. – Sorensen

ответ

1

Один из ответов в этом связанный с этим вопрос выглядит, как это могло бы быть полезным для Вас:

WPF Data binding: How to data bind an enum to combo box using XAML?

+0

Я видел этот ответ, я не знаю, где использовать EnumerationManager. Интересно, есть ли какой-нибудь attr, который сидел ObjectDataProvider, чтобы ссылаться на просмотр. –

+0

Единственное изменение, которое вы должны внести в свой код, - это включение EnumerationManager в то, какое пространство имен кажется подходящим. И изменить ObjectType в определении ObjectDataProvider на пространство имен: EnumerationManager. Я не думаю, что вы все равно хотите сделать то, что хотите, без вспомогательного класса для поиска атрибута Browsable. –

 Смежные вопросы

  • Нет связанных вопросов^_^