有没有办法让组合框项目的全部内容变成不同的颜色?

问题描述 投票:0回答:1

我正在寻找一种方法来更改整个组合框项目内容的颜色,而不仅仅是如下图所示的文本:

current behavior setting the background

我正在努力实现这样的目标:

desired behavior

到目前为止我拥有的代码以及我在互联网上找到的代码:

<ComboBox 
    ItemsSource="{Binding Items}"
        Height="49" Width="84">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}" Background="Red"/>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>
c# wpf combobox
1个回答
0
投票

您可以通过 ItemContainerStyle 设置它,如下所示:

    <ComboBox 
ItemsSource="{Binding Items}"
    Height="49" Width="84"
        DisplayMemberPath="Name">
        <ComboBox.ItemContainerStyle>
            <Style TargetType="{x:Type ComboBoxItem}">
                <Setter Property="Background" Value="Red" />
                <Setter Property="BorderBrush" Value="Red" />
            </Style>
        </ComboBox.ItemContainerStyle>
    </ComboBox>

您想在每个 ComboBoxItem 周围都有边框吗?您也可以将 BorderBrush 设置为红色。或者通过 BorderThickness 隐藏它,将其设置为“0”

<Setter Property="BorderThickness" Value="0" />

希望这对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.