Skip to content

Commit e0e5743

Browse files
committed
combobox item style port.
1 parent 26949c4 commit e0e5743

File tree

2 files changed

+41
-13
lines changed

2 files changed

+41
-13
lines changed

source/iNKORE.UI.WPF.Modern/Controls/Helpers/WinUIComboBoxBehaviorHelper.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ namespace iNKORE.UI.WPF.Modern.Controls.Helpers
1010
{
1111
public sealed class WinUIComboBoxBehaviorHelper
1212
{
13+
static WinUIComboBoxBehaviorHelper()
14+
{
15+
EventManager.RegisterClassHandler(typeof(ComboBoxItem), Mouse.MouseEnterEvent,
16+
new MouseEventHandler(OnOverrideMouseEnter), false);
17+
}
18+
1319
private const string c_popupBorderName = "PopupBorder";
1420

1521
private const string c_editableTextName = "PART_EditableTextBox";

source/iNKORE.UI.WPF.Modern/Themes/Controls/ComboBox.xaml

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,30 @@
5252
<Setter Property="Padding" Value="{DynamicResource ComboBoxItemThemePadding}" />
5353
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
5454
<Setter Property="FocusVisualStyle" Value="{DynamicResource {x:Static SystemParameters.FocusVisualStyleKey}}" />
55+
<!--<Setter Property="FocusVisualStyle">
56+
<Setter.Value>
57+
<Style>
58+
<Setter Property="Control.Template">
59+
<Setter.Value>
60+
<ControlTemplate>
61+
<ikw:ClippedContent
62+
BorderBrush="{DynamicResource SystemControlFocusVisualPrimaryBrush}"
63+
BorderThickness="{TemplateBinding chelper:FocusVisualHelper.FocusVisualPrimaryThickness}"
64+
SnapsToDevicePixels="True"
65+
CornerRadius="6">
66+
<Border CornerRadius="6"
67+
BorderBrush="{DynamicResource SystemControlFocusVisualSecondaryBrush}"
68+
BorderThickness="{TemplateBinding chelper:FocusVisualHelper.FocusVisualSecondaryThickness}" />
69+
</ikw:ClippedContent>
70+
</ControlTemplate>
71+
</Setter.Value>
72+
</Setter>
73+
</Style>
74+
</Setter.Value>
75+
</Setter>-->
5576
<Setter Property="chelper:FocusVisualHelper.FocusVisualMargin" Value="-3" />
5677
<Setter Property="chelper:FocusVisualHelper.UseSystemFocusVisuals" Value="True" />
78+
<!--<Setter Property="chelper:FocusVisualHelper.UseSystemFocusVisuals" Value="False" />-->
5779
<Setter Property="chelper:ControlHelper.CornerRadius" Value="{DynamicResource ComboBoxItemCornerRadius}" />
5880
<Setter Property="Template">
5981
<Setter.Value>
@@ -138,7 +160,7 @@
138160
</Trigger>
139161
<MultiTrigger>
140162
<MultiTrigger.Conditions>
141-
<Condition Property="IsSelected" Value="False" />
163+
<Condition Property="IsHighlighted" Value="False" />
142164
<Condition Property="IsMouseOver" Value="True" />
143165
</MultiTrigger.Conditions>
144166
<Setter TargetName="LayoutRoot" Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPointerOver}" />
@@ -147,7 +169,7 @@
147169
</MultiTrigger>
148170
<MultiTrigger>
149171
<MultiTrigger.Conditions>
150-
<Condition Property="IsSelected" Value="False" />
172+
<Condition Property="IsHighlighted" Value="False" />
151173
<Condition SourceName="LayoutRoot" Property="chelper:PressHelper.IsPressed" Value="True" />
152174
</MultiTrigger.Conditions>
153175
<Setter TargetName="LayoutRoot" Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPressed}" />
@@ -156,34 +178,34 @@
156178
</MultiTrigger>
157179
<MultiTrigger>
158180
<MultiTrigger.Conditions>
159-
<Condition Property="IsSelected" Value="False" />
181+
<Condition Property="IsHighlighted" Value="False" />
160182
<Condition Property="IsEnabled" Value="False" />
161183
</MultiTrigger.Conditions>
162184
<Setter TargetName="LayoutRoot" Property="Background" Value="{DynamicResource ComboBoxItemBackgroundDisabled}" />
163185
<Setter TargetName="LayoutRoot" Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushDisabled}" />
164186
<Setter TargetName="ContentPresenter" Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundDisabled}" />
165187
</MultiTrigger>
166188
<!-- Selected -->
167-
<Trigger Property="IsSelected" Value="True">
189+
<Trigger Property="IsHighlighted" Value="True">
168190
<Setter TargetName="Pill" Property="Opacity" Value="1" />
169191
<Setter TargetName="LayoutRoot" Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelected}" />
170192
<Setter TargetName="LayoutRoot" Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelected}" />
171193
<Setter TargetName="ContentPresenter" Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelected}" />
172194
</Trigger>
173-
<!-- SelectedFocused -->
174-
<MultiTrigger>
195+
<!-- SelectedFocused -->
196+
<!--<MultiTrigger>
175197
<MultiTrigger.Conditions>
176198
<Condition Property="IsSelected" Value="True" />
177199
<Condition Property="IsFocused" Value="True" />
178200
</MultiTrigger.Conditions>
179201
<Setter TargetName="LayoutRoot" Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelected}" />
180202
<Setter TargetName="LayoutRoot" Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelected}" />
181203
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelected}" />
182-
</MultiTrigger>
204+
</MultiTrigger>-->
183205
<!-- SelectedUnfocused -->
184206
<MultiTrigger>
185207
<MultiTrigger.Conditions>
186-
<Condition Property="IsSelected" Value="True" />
208+
<Condition Property="IsHighlighted" Value="True" />
187209
<Condition Property="IsFocused" Value="False" />
188210
</MultiTrigger.Conditions>
189211
<Setter TargetName="Pill" Property="Opacity" Value="1" />
@@ -194,7 +216,7 @@
194216
<!-- SelectedDisabled -->
195217
<MultiTrigger>
196218
<MultiTrigger.Conditions>
197-
<Condition Property="IsSelected" Value="True" />
219+
<Condition Property="IsHighlighted" Value="True" />
198220
<Condition Property="IsEnabled" Value="False" />
199221
</MultiTrigger.Conditions>
200222
<Setter TargetName="Pill" Property="Opacity" Value="1" />
@@ -205,7 +227,7 @@
205227
<!-- SelectedPointerOver -->
206228
<MultiTrigger>
207229
<MultiTrigger.Conditions>
208-
<Condition Property="IsSelected" Value="True" />
230+
<Condition Property="IsHighlighted" Value="True" />
209231
<Condition Property="IsMouseOver" Value="True" />
210232
</MultiTrigger.Conditions>
211233
<Setter TargetName="Pill" Property="Opacity" Value="1" />
@@ -216,7 +238,7 @@
216238
<!-- SelectedPressed -->
217239
<MultiTrigger>
218240
<MultiTrigger.Conditions>
219-
<Condition Property="IsSelected" Value="True" />
241+
<Condition Property="IsHighlighted" Value="True" />
220242
<Condition SourceName="LayoutRoot" Property="chelper:PressHelper.IsPressed" Value="True" />
221243
</MultiTrigger.Conditions>
222244
<Setter TargetName="Pill" Property="Opacity" Value="1" />
@@ -260,7 +282,7 @@
260282
x:Name="PlaceholderTextContentPresenter"
261283
Margin="{TemplateBinding BorderThickness}"
262284
Padding="{TemplateBinding Padding}"
263-
Foreground="{DynamicResource TextControlPlaceholderForeground}"
285+
Foreground="{Binding (chelper:ControlHelper.PlaceholderForeground), RelativeSource={RelativeSource TemplatedParent}, TargetNullValue={StaticResource TextControlPlaceholderForeground}}"
264286
IsHitTestVisible="False"
265287
Text="{TemplateBinding chelper:ControlHelper.PlaceholderText}"
266288
TextAlignment="{TemplateBinding TextAlignment}"
@@ -296,7 +318,7 @@
296318
<Setter TargetName="BorderElement" Property="Background" Value="{DynamicResource TextControlBackgroundFocused}" />
297319
<Setter TargetName="BorderElement" Property="BorderBrush" Value="{DynamicResource TextControlBorderBrushFocused}" />
298320
<Setter TargetName="BorderElement" Property="BorderThickness" Value="{DynamicResource TextControlBorderThemeThicknessFocused}" />
299-
<Setter Property="Foreground" Value="{DynamicResource TextControlForegroundFocused}" />
321+
<Setter TargetName="PART_ContentHost" Property="Foreground" Value="{DynamicResource TextControlForegroundFocused}" />
300322
<Setter Property="CaretBrush" Value="{DynamicResource TextControlForegroundFocused}" />
301323
<Setter TargetName="PlaceholderTextContentPresenter" Property="Foreground" Value="{DynamicResource TextControlPlaceholderForegroundFocused}" />
302324
</Trigger>

0 commit comments

Comments
 (0)