は、ここでは、この記事のオフに働くことによってこれに対する答えが見つかりました:Set style on ComboBoxItem from template for ComboBox
を私は「編集可能なコンボボックス」のテンプレートに変更ComboBoxItemテンプレートを適用します。あなたがここに以下を参照することができます私はisEditableをスタイルのトリガーに「ItemContainerStyle」プロパティを追加しました:
<Style x:Key="CmbRoundedAutoComplete" TargetType="{x:Type ComboBox}">
<Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
<Setter Property="Background" Value="{StaticResource ComboBox.Static.Background}"/>
<Setter Property="BorderBrush" Value="{StaticResource ComboBox.Static.Border}"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="Padding" Value="6,3,5,3"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="Template" Value="{StaticResource ComboBoxTemplate}"/>
<Style.Triggers>
<Trigger Property="IsEditable" Value="true">
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Padding" Value="2"/>
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}"/>
<!-- Added this line here -->
<Setter Property="ItemContainerStyle" Value="{DynamicResource ComboBoxItemShieldStyle}" />
</Trigger>
</Style.Triggers>
</Style>
をこれがカスタム「ItemContainerStyle」のControlTemplate(に注意することが重要の一部であり、MultiTriggerがありますStyleは実際のControlTemplateではありません)。 ControlTemplate要素はスタイル内にあります。
ComboBoxItemを手動でXAML内の既存のComboBoxに追加し、そこからテンプレートを生成することによって、 "ComboboxItem"テンプレートを生成できます。あなたは私はあなたがコンボボックスのフィールドのいずれかで次のように入力して、選択したりして、それにナビゲートしている項目の背景色を変更することができ、「答えはここにある」コメントしている上記のコードで見ることができます
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True"/>
<Condition Property="IsMouseOver" Value="False"/>
<Condition Property="IsKeyboardFocused" Value="False"/>
</MultiTrigger.Conditions>
<!-- ANSWER IS HERE Change color on the 2 below lines for border & background -->
<Setter Property="Background" TargetName="Bd" Value="#D1E8FF"/>
<Setter Property="BorderBrush" TargetName="Bd" Value="#66A7E8"/>
</MultiTrigger>
「結果」(赤い文字で示されています)の中で、現在のアイテムの「背景」は、私の元の質問ではぎっしりした灰色の色ではなく、かなり青い色です...
最終結果:
可能なアイテムのほんの一部を強調する解決策がありますか。私が「オフィス」とタイプしたとき、3人の候補者が利用可能である(上記の写真を参照)。 –