У меня есть простое перечисление .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, но тогда у меня не может быть определенных полей для определенных элементов. Или я могу?