Я в настоящее время занимаюсь дизайном ComboBox
, чтобы выглядеть как в Visual Studio (наряду с цветовой тематикой). Я сделал большую часть стиля, но остановился на ContentPresenter
, отображая текущий выбранный объект.Как стиль ContentPresenter в ComboBox?
Кусок XAML выглядит следующим образом:
<ContentPresenter Margin="2" IsHitTestVisible="False" VerticalAlignment="Center" HorizontalAlignment="Stretch"
Name="ContentSite"
ContentTemplate="{TemplateBinding ComboBox.SelectionBoxItemTemplate}"
Content="{TemplateBinding ComboBox.SelectionBoxItem}" />
Проблема в том, что по умолчанию SelectionBoxItemTemplate
, кажется, игнорирует значение переднего плана ComboBox в:
<ComboBox Margin="4" SelectedIndex="0" Foreground="Red">
<ComboBoxItem>First</ComboBoxItem>
<ComboBoxItem>Second</ComboBoxItem>
<ComboBoxItem>Third</ComboBoxItem>
</ComboBox>
Первый не редактируется, SelectionBoxItemTemplate
пинает и устанавливает цвет текста в черный (хотя Foreground
устанавливается вручную на красный и по стилю на другой нечерный цвет).
Как передать текущий цвет переднего плана на ContentPresenter
? Если я не могу, где я могу найти рабочую замену для SelectionBoxItemTemplate
? (работает, с точки зрения того, что он будет корректно работать для всех типов предметов в ComboBox
)