Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Не могу установить Background для ComboBoxItem


Автор: Stas123 20.8.2014, 16:53
У меня есть ComboBox, и некотрые его элементы я хочу выделить цветом. Для этого я использую шабломы данных, но у меня не получается.
У менч получилось выделить цветом сам текст (через свойство Foreground), но когда я заменяю на Background ничего не цветом не выделено. Что я делаю не так?
Код

<ComboBox.ItemTemplate>
                <DataTemplate >
                    <DataTemplate.Triggers>
                        <DataTrigger Binding="{Binding}" Value="Buy">
                            <Setter Property="ComboBoxItem.Background" Value="Green"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding}" Value="Sell">
                            <Setter Property="ComboBoxItem.Background" Value="Red"/>
                        </DataTrigger>
                    </DataTemplate.Triggers>
                    <TextBlock Text="{Binding Converter={StaticResource EnumerationConverter}}"/>
                </DataTemplate>
            </ComboBox.ItemTemplate>

Автор: Ilya81 9.9.2014, 13:35
В DataTemplate не получится задать свойство элемента-контейнера. Попробуйте задать свойство ItemStyle у самого ComboBox:
Код

<ComboBox ...>
<ComboBox.ItemStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="ComboBoxItem.Background" Value="..."/>
</Style>
</ComboBoxItemStyle>
</ComboBox>

Триггеры в стиль тоже можно включить.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)