【问题标题】:Set Transparent Highlight in combobox selection?在组合框选择中设置透明突出显示?
【发布时间】:2017-06-12 16:05:18
【问题描述】:

当用户将鼠标移到项目上时,我正在尝试实现组合框的透明突出显示。我需要它是透明的,因为组合框中的每个项目都已经具有在下拉菜单中显示为背景的颜色。

 <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="84,70,0,0" VerticalAlignment="Top" Width="230" FontWeight="ExtraBold">
        <ComboBox.Resources>
            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}">Transparent</SolidColorBrush>
            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}">Black</SolidColorBrush>
        </ComboBox.Resources>
        <ComboBox.ItemContainerStyle>
            <Style TargetType="ComboBoxItem">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Value}" Value="Agriculture">
                        <Setter Property="Background" Value="Green" />
                    </DataTrigger>

使用此代码,我只能得到覆盖突出显示项目背景的白色,如下所示:

有什么建议吗?

【问题讨论】:

    标签: c# wpf combobox highlight


    【解决方案1】:

    您可以尝试将 SolidColorBrush 的 Color 设置为 Silver 或其他东西,并将其 Opacity 属性设置为小于 1 的值:

    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Opacity="0.4" Color="Silver" />
    

    HighlightBrushKey 不会被应用到 ComboBoxItems 的默认 SolidColorBrushes 上。它将替换这些而不是覆盖它们。

    【讨论】:

    • 试过了,结果仍然是白色的:/ 看起来没有办法解决它,我只需要处理这个@mm8
    • 您期望/希望它具有什么颜色?只需将 Brush 的 Color 属性设置为此。恐怕没有“透明高光”颜色或画笔之类的东西。
    • 是的,rgb 不支持透明度,它适用于不透明度,所以我将尝试进行一些更改,看看它是如何工作的,在任何情况下都请耐心等待 :)) @mm8跨度>
    猜你喜欢
    • 2019-02-06
    • 2018-08-09
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多