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