Skip to content

Commit 8e912d4

Browse files
committed
Ability to hide underline. Fixes #212, #128.
1 parent 17acb6d commit 8e912d4

7 files changed

+36
-12
lines changed

MainDemo.Wpf/ColorZones.xaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@
5555
</Canvas>
5656
</Viewbox>
5757
</Button>
58-
<TextBox Grid.Column="1" Margin="8 0 0 0" materialDesign:TextFieldAssist.Hint="Build a search bar" MinWidth="200" VerticalAlignment="Center" />
58+
<TextBox Grid.Column="1" Margin="8 0 0 0" materialDesign:TextFieldAssist.Hint="Build a search bar"
59+
materialDesign:TextFieldAssist.DecorationVisibility="Hidden" BorderThickness="0"
60+
MinWidth="200" VerticalAlignment="Center" />
5961
<Button Style="{DynamicResource MaterialDesignToolButton}" Grid.Column="2">
6062
<Viewbox Width="16" Height="16" Margin="8 0 0 0" Opacity=".56">
6163
<Canvas Width="24" Height="24">

MaterialDesignThemes.Wpf/TextFieldAssist.cs

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,30 @@ public static void SetHintOpacity(DependencyObject element, double value)
104104
element.SetValue(HintOpacityProperty, value);
105105
}
106106

107+
/// <summary>
108+
/// Controls the visibility of the underline decoration.
109+
/// </summary>
110+
public static readonly DependencyProperty DecorationVisibilityProperty = DependencyProperty.RegisterAttached(
111+
"DecorationVisibility", typeof (Visibility), typeof (TextFieldAssist), new PropertyMetadata(default(Visibility)));
112+
113+
/// <summary>
114+
/// Controls the visibility of the underline decoration.
115+
/// </summary>
116+
public static void SetDecorationVisibility(DependencyObject element, Visibility value)
117+
{
118+
element.SetValue(DecorationVisibilityProperty, value);
119+
}
120+
121+
/// <summary>
122+
/// Controls the visibility of the underline decoration.
123+
/// </summary>
124+
/// <param name="element"></param>
125+
/// <returns></returns>
126+
public static Visibility GetDecorationVisibility(DependencyObject element)
127+
{
128+
return (Visibility) element.GetValue(DecorationVisibilityProperty);
129+
}
130+
107131
/// <summary>
108132
/// Internal framework use only.
109133
/// </summary>
@@ -165,9 +189,7 @@ public static void SetManaged(DependencyObject element, TextBox value)
165189
public static TextBox GetManaged(DependencyObject element)
166190
{
167191
return (TextBox) element.GetValue(ManagedProperty);
168-
}
169-
170-
192+
}
171193

172194
#region Methods
173195

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@
455455
<ControlTemplate.Triggers>
456456
<Trigger Property="IsEditable" Value="True">
457457
<Setter TargetName="PART_EditableTextBox" Property="Visibility" Value="Visible" />
458-
<Setter TargetName="Underline" Property="Visibility" Value="Visible" />
458+
<Setter TargetName="Underline" Property="Visibility" Value="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}" />
459459
<Setter TargetName="contentPresenter" Property="Visibility" Value="Collapsed" />
460460
</Trigger>
461461
<MultiTrigger>
@@ -630,7 +630,7 @@
630630

631631
<Trigger Property="IsEditable" Value="True">
632632
<Setter TargetName="PART_EditableTextBox" Property="Visibility" Value="Visible" />
633-
<Setter TargetName="Underline" Property="Visibility" Value="Visible" />
633+
<Setter TargetName="Underline" Property="Visibility" Value="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}" />
634634
<Setter TargetName="contentPresenter" Property="Visibility" Value="Collapsed" />
635635
</Trigger>
636636
<MultiTrigger>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DatePicker.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@
169169
PopupAnimation="Fade" />
170170
</Grid>
171171
</Border>
172-
<wpf:Underline x:Name="Underline" />
172+
<wpf:Underline x:Name="Underline" Visibility="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}"/>
173173
</Grid>
174174
<ControlTemplate.Triggers>
175175
<Trigger Property="IsEnabled" Value="false">

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
Opacity="{Binding Path=(wpf:TextFieldAssist.HintOpacity), RelativeSource={RelativeSource TemplatedParent}}" />
4747
</Grid>
4848
</Border>
49-
<wpf:Underline x:Name="Underline"/>
49+
<wpf:Underline x:Name="Underline" Visibility="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}"/>
5050
</Grid>
5151
<ControlTemplate.Triggers>
5252
<Trigger Property="IsEnabled" Value="false">
@@ -177,7 +177,7 @@
177177
/>
178178
</Grid>
179179
</Border>
180-
<wpf:Underline x:Name="Underline"/>
180+
<wpf:Underline x:Name="Underline" Visibility="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}"/>
181181
</Grid>
182182
<ControlTemplate.Triggers>
183183
<MultiTrigger>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
Opacity="{Binding Path=(wpf:TextFieldAssist.HintOpacity), RelativeSource={RelativeSource TemplatedParent}}"/>
8181
</Grid>
8282
</Border>
83-
<wpf:Underline x:Name="Underline"/>
83+
<wpf:Underline x:Name="Underline" Visibility="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}"/>
8484
</Grid>
8585
<ControlTemplate.Triggers>
8686
<Trigger Property="IsEnabled" Value="false">
@@ -213,7 +213,7 @@
213213
/>
214214
</Grid>
215215
</Border>
216-
<wpf:Underline x:Name="Underline"/>
216+
<wpf:Underline x:Name="Underline" Visibility="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}"/>
217217
</Grid>
218218
<ControlTemplate.Triggers>
219219
<MultiTrigger>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TimePicker.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
PopupAnimation="Fade"/>
9999
</Grid>
100100
</Border>
101-
<wpf:Underline x:Name="Underline" />
101+
<wpf:Underline x:Name="Underline" Visibility="{Binding Path=(wpf:TextFieldAssist.DecorationVisibility), RelativeSource={RelativeSource TemplatedParent}}"/>
102102
</Grid>
103103
<ControlTemplate.Triggers>
104104
<Trigger Property="IsMouseOver" Value="true">

0 commit comments

Comments
 (0)