Как я могу привязаться к перечислению в WPF с текущим значением

У меня есть простое перечисление .Net. У меня также есть объект модели представления, у которого есть свойство CurrentValue типа моего перечисления. Это свойство может быть привязано к данным (объект реализует INotifyPropertyChanged). Теперь я хотел бы показать один элемент пользовательского интерфейса для каждого значения перечисления в определенном порядке и выделить «CurrentValue» (жирным шрифтом). Я бы хотел, чтобы объявление было примерно таким:

<StackPanel Orientation="Vertical">               
    <ContentControl Content="{x:Static MyEnum.Value1}" />
    <ContentControl Content="{x:Static MyEnum.Value2}" Margin="10" />
    <ContentControl Content="{x:Static MyEnum.Value3}" />
</StackPanel>

Я хотел бы объявить каждое значение индивидуально, чтобы указать порядок, но также потому, что я хочу, чтобы некоторые элементы имели определенные значения маржи. Кроме того, позже я захочу отображать определенные значки для каждого значения.

Теперь я не понимаю, как я могу объявить, что я хочу, чтобы элемент управления, связанный с CurrentValue, был полужирным шрифтом. Я попытался использовать общий DataTrigger внутри шаблона для проверки содержимого на соответствие CurrentValue, но похоже, что значение триггера не может быть привязкой.

Я также подумывал об отключенном ListBox, но тогда у меня не может быть определенных полей для определенных элементов. Или я могу?


person Community    schedule 01.03.2009    source источник


Ответы (1)


Примерьте это на размер ...

<ListBox>
  <ListBoxItem><local:MyEnum>Value1</local:MyEnum></ListBoxItem>
  <ListBoxItem Margin="10"><local:MyEnum>Value2</local:MyEnum></ListBoxItem>
  <ListBoxItem><local:MyEnum>Value3</local:MyEnum></ListBoxItem>
</ListBox>

Вам нужно будет сопоставить local xmlns с пространством имен CLR.

person Drew Noakes    schedule 01.03.2009
comment
Хм, почему я не подумал об этом! Спасибо! - person ; 02.03.2009
comment
Не беспокойся. Мне пришлось сделать нечто подобное всего несколько дней назад. Но я не ответил полностью на ваш вопрос ... удалось ли вам выделить значение перечисления контекста данных жирным шрифтом? - person Drew Noakes; 02.03.2009
comment
Не совсем, буду работать над этим позже на этой неделе :) Но я уже нашел некоторые ресурсы по этому поводу. Еще раз спасибо! - person ; 02.03.2009