Skip to content

Commit d3a49c2

Browse files
committed
Fix Underline in ComboBox
1 parent 7add3e7 commit d3a49c2

File tree

2 files changed

+39
-35
lines changed

2 files changed

+39
-35
lines changed

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -385,9 +385,7 @@
385385
<ControlTemplate x:Key="MaterialDesignComboBoxTemplate" TargetType="{x:Type ComboBox}">
386386
<Grid x:Name="templateRoot"
387387
SnapsToDevicePixels="True"
388-
UseLayoutRounding="True"
389-
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
390-
VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
388+
UseLayoutRounding="True">
391389
<Grid.ColumnDefinitions>
392390
<ColumnDefinition Width="*" />
393391
<ColumnDefinition Width="0" MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
@@ -399,8 +397,9 @@
399397
Grid.ColumnSpan="2"
400398
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
401399
Style="{StaticResource MaterialDesignComboBoxToggleButton}" />
402-
<Grid x:Name="ContentWrapper"
403-
Margin="{TemplateBinding Padding}">
400+
<Grid Margin="{TemplateBinding Padding}"
401+
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
402+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
404403
<TextBlock x:Name="Hint"
405404
IsHitTestVisible="False"
406405
Opacity="{Binding Path=(wpf:TextFieldAssist.HintOpacity), RelativeSource={RelativeSource TemplatedParent}}"
@@ -507,7 +506,7 @@
507506
<ThicknessAnimation Duration="0:0:0.3"
508507
Storyboard.TargetName="Hint"
509508
Storyboard.TargetProperty="(FrameworkElement.Margin)"
510-
To="0,-14,0,0">
509+
To="0,-12,0,0">
511510
<ThicknessAnimation.EasingFunction>
512511
<SineEase EasingMode="EaseOut" />
513512
</ThicknessAnimation.EasingFunction>
@@ -537,11 +536,10 @@
537536
</ThicknessAnimation>
538537
</Storyboard>
539538
</ControlTemplate.Resources>
540-
<Grid x:Name="templateRoot"
541-
UseLayoutRounding="True"
542-
SnapsToDevicePixels="True">
543-
<Grid Margin="0 16 0 0"
544-
x:Name="MarginWrapper">
539+
<Grid x:Name="templateRoot">
540+
<Grid Margin="0 12 0 0"
541+
SnapsToDevicePixels="True"
542+
UseLayoutRounding="True">
545543
<Grid.ColumnDefinitions>
546544
<ColumnDefinition Width="*" />
547545
<ColumnDefinition Width="0" MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
@@ -552,27 +550,28 @@
552550
BorderBrush="{TemplateBinding BorderBrush}"
553551
BorderThickness="{TemplateBinding BorderThickness}"
554552
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
555-
Style="{StaticResource MaterialDesignComboBoxToggleButton}" />
553+
Style="{StaticResource MaterialDesignComboBoxToggleButton}"/>
556554
<TextBlock x:Name="Hint"
557555
Margin="{TemplateBinding Padding}"
558556
FontSize="{TemplateBinding FontSize}"
559-
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
557+
HorizontalAlignment="Left"
560558
IsHitTestVisible="False"
559+
VerticalAlignment="Top"
560+
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
561+
UseLayoutRounding="{TemplateBinding UseLayoutRounding}"
561562
Opacity="{Binding Path=(wpf:TextFieldAssist.HintOpacity), RelativeSource={RelativeSource TemplatedParent}}"
562-
SnapsToDevicePixels="True"
563-
UseLayoutRounding="True"
564563
Text="{TemplateBinding wpf:TextFieldAssist.Hint}" />
565-
<Grid x:Name="ContentWrapper"
564+
<Grid HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
565+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
566566
Margin="{TemplateBinding Padding}"
567-
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
568-
VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
567+
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
568+
UseLayoutRounding="{TemplateBinding UseLayoutRounding}">
569569
<ContentPresenter x:Name="contentPresenter"
570570
Content="{TemplateBinding SelectionBoxItem}"
571571
ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
572572
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
573573
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
574-
IsHitTestVisible="false"
575-
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
574+
IsHitTestVisible="False"/>
576575
<TextBox x:Name="PART_EditableTextBox"
577576
IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
578577
Style="{StaticResource MaterialDesignComboBoxEditableTextBox}"
@@ -672,15 +671,13 @@
672671
<Setter Property="ItemContainerStyle" Value="{StaticResource MaterialDesignComboBoxItemSelectedCollapsedStyle}" />
673672
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
674673
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
675-
<Setter Property="Padding" Value="0 4 0 4" />
676-
<Setter Property="VerticalContentAlignment" Value="Center" />
674+
<Setter Property="Padding" Value="0 4 0 5" />
675+
<Setter Property="VerticalContentAlignment" Value="Top" />
677676
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
678-
<Setter Property="HorizontalAlignment" Value="Left"/>
679-
<Setter Property="VerticalAlignment" Value="Center"/>
677+
<Setter Property="HorizontalAlignment" Value="Stretch"/>
678+
<Setter Property="VerticalAlignment" Value="Top"/>
680679
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
681680
<Setter Property="ScrollViewer.PanningMode" Value="Both" />
682-
<Setter Property="UseLayoutRounding" Value="False"/>
683-
<Setter Property="SnapsToDevicePixels" Value="False"/>
684681
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
685682
<Setter Property="Template" Value="{StaticResource MaterialDesignComboBoxTemplate}" />
686683
<Style.Triggers>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<Setter Property="Background" Value="Transparent"/>
1818
<Setter Property="CaretBrush" Value="{Binding RelativeSource={RelativeSource Self}, Path=BorderBrush}"/>
1919
<Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
20-
<Setter Property="HorizontalContentAlignment" Value="Left"/>
20+
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
2121
<Setter Property="VerticalContentAlignment" Value="Top"/>
2222
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
2323
<Setter Property="AllowDrop" Value="true"/>
@@ -27,14 +27,15 @@
2727
<Setter Property="Template">
2828
<Setter.Value>
2929
<ControlTemplate TargetType="{x:Type TextBox}">
30-
<Grid VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
30+
<Grid>
3131
<Border x:Name="border"
3232
BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"
3333
Background="{TemplateBinding Background}"
3434
SnapsToDevicePixels="True"
35-
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
3635
Padding="0 4 0 4">
37-
<Grid Margin="{TemplateBinding Padding}">
36+
<Grid Margin="{TemplateBinding Padding}"
37+
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
38+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
3839
<ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"
3940
/>
4041
<TextBlock Text="{Binding Path=(wpf:TextFieldAssist.Hint), RelativeSource={RelativeSource TemplatedParent}}"
@@ -123,24 +124,30 @@
123124
</ThicknessAnimation>
124125
</Storyboard>
125126
</ControlTemplate.Resources>
126-
<Grid VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
127+
<Grid>
127128
<Border x:Name="border"
128-
BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"
129+
BorderBrush="{TemplateBinding BorderBrush}"
130+
BorderThickness="{TemplateBinding BorderThickness}"
129131
Background="{TemplateBinding Background}"
130132
SnapsToDevicePixels="True"
131133
Padding="0 4 0 4">
132-
<Grid Margin="0 12 0 0">
134+
<Grid Margin="0 12 0 0"
135+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
136+
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}">
133137
<ScrollViewer x:Name="PART_ContentHost" Focusable="false"
134138
HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"
135-
/>
139+
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
140+
UseLayoutRounding="{TemplateBinding UseLayoutRounding}"
141+
/>
136142
<TextBlock Text="{Binding Path=(wpf:TextFieldAssist.Hint), RelativeSource={RelativeSource TemplatedParent}}"
137143
IsHitTestVisible="False"
138144
FontSize="{TemplateBinding FontSize}"
139145
HorizontalAlignment="Left"
140146
VerticalAlignment="Top"
141147
x:Name="Hint"
142148
Margin="1 0 1 0"
143-
Opacity="{Binding Path=(wpf:TextFieldAssist.HintOpacity), RelativeSource={RelativeSource TemplatedParent}}"/>
149+
Opacity="{Binding Path=(wpf:TextFieldAssist.HintOpacity), RelativeSource={RelativeSource TemplatedParent}}"
150+
/>
144151
</Grid>
145152
</Border>
146153
<wpf:Underline x:Name="Underline"/>

0 commit comments

Comments
 (0)