Skip to content

Commit bae9e3f

Browse files
author
Corvin Szimion
committed
added AP TextFieldAssist.ClearButtonSize to control the size of the ClearButton
1 parent ffc320a commit bae9e3f

File tree

6 files changed

+45
-12
lines changed

6 files changed

+45
-12
lines changed

src/MaterialDesignThemes.Wpf/TextFieldAssist.cs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public static class TextFieldAssist
4141

4242
public static void SetTextBoxViewVerticalAlignment(DependencyObject element, VerticalAlignment value) => element.SetValue(TextBoxViewVerticalAlignmentProperty, value);
4343

44-
public static VerticalAlignment GetTextBoxViewVerticalAlignment(DependencyObject element) => (VerticalAlignment) element.GetValue(TextBoxViewVerticalAlignmentProperty);
44+
public static VerticalAlignment GetTextBoxViewVerticalAlignment(DependencyObject element) => (VerticalAlignment)element.GetValue(TextBoxViewVerticalAlignmentProperty);
4545

4646
/// <summary>
4747
/// Controls the visibility of the underline decoration.
@@ -172,7 +172,7 @@ public static void SetSuffixTextVisibility(DependencyObject element, PrefixSuffi
172172
=> element.SetValue(SuffixTextVisibilityProperty, value);
173173

174174
public static PrefixSuffixVisibility GetSuffixTextVisibility(DependencyObject element)
175-
=> (PrefixSuffixVisibility) element.GetValue(SuffixTextVisibilityProperty);
175+
=> (PrefixSuffixVisibility)element.GetValue(SuffixTextVisibilityProperty);
176176

177177
/// <summary>
178178
/// SuffixTextHintBehavior dependency property. Controls how a floating hint aligns with respect to the text and suffix.
@@ -184,7 +184,7 @@ public static void SetSuffixTextHintBehavior(DependencyObject element, PrefixSuf
184184
=> element.SetValue(SuffixTextHintBehaviorProperty, value);
185185

186186
public static PrefixSuffixHintBehavior GetSuffixTextHintBehavior(DependencyObject element)
187-
=> (PrefixSuffixHintBehavior) element.GetValue(SuffixTextHintBehaviorProperty);
187+
=> (PrefixSuffixHintBehavior)element.GetValue(SuffixTextHintBehaviorProperty);
188188

189189
/// <summary>
190190
/// PrefixText dependency property
@@ -208,7 +208,7 @@ public static void SetPrefixTextVisibility(DependencyObject element, PrefixSuffi
208208
=> element.SetValue(PrefixTextVisibilityProperty, value);
209209

210210
public static PrefixSuffixVisibility GetPrefixTextVisibility(DependencyObject element)
211-
=> (PrefixSuffixVisibility) element.GetValue(PrefixTextVisibilityProperty);
211+
=> (PrefixSuffixVisibility)element.GetValue(PrefixTextVisibilityProperty);
212212

213213
/// <summary>
214214
/// PrefixTextHintBehavior dependency property. Controls how a floating hint aligns with respect to the text and prefix.
@@ -234,6 +234,18 @@ public static void SetHasClearButton(DependencyObject element, bool value)
234234
public static bool GetHasClearButton(DependencyObject element)
235235
=> (bool)element.GetValue(HasClearButtonProperty);
236236

237+
/// <summary>
238+
/// Controls the size of the clear button.
239+
/// </summary>
240+
public static readonly DependencyProperty ClearButtonSizeProperty = DependencyProperty.RegisterAttached(
241+
"ClearButtonSize", typeof(double), typeof(TextFieldAssist), new PropertyMetadata(16.0d));
242+
243+
public static void SetClearButtonSize(DependencyObject element, double value)
244+
=> element.SetValue(ClearButtonSizeProperty, value);
245+
246+
public static double GetClearButtonSize(DependencyObject element)
247+
=> (double)element.GetValue(ClearButtonSizeProperty);
248+
237249
/// <summary>
238250
/// Controls visibility of the leading icon
239251
/// </summary>
@@ -316,7 +328,7 @@ public static void SetIconVerticalAlignment(DependencyObject element, VerticalAl
316328
=> element.SetValue(IconVerticalAlignmentProperty, value);
317329

318330
public static VerticalAlignment GetIconVerticalAlignment(DependencyObject element)
319-
=> (VerticalAlignment) element.GetValue(IconVerticalAlignmentProperty);
331+
=> (VerticalAlignment)element.GetValue(IconVerticalAlignmentProperty);
320332

321333
public static Style GetCharacterCounterStyle(DependencyObject obj) => (Style)obj.GetValue(CharacterCounterStyleProperty);
322334

@@ -373,14 +385,14 @@ public static Thickness GetOutlinedBorderActiveThickness(DependencyObject elemen
373385
public static void SetTextBoxLineCount(DependencyObject element, int value)
374386
=> element.SetValue(TextBoxLineCountProperty, value);
375387
public static int GetTextBoxLineCount(DependencyObject element)
376-
=> (int) element.GetValue(TextBoxLineCountProperty);
388+
=> (int)element.GetValue(TextBoxLineCountProperty);
377389

378390
public static readonly DependencyProperty TextBoxIsMultiLineProperty = DependencyProperty.RegisterAttached(
379391
"TextBoxIsMultiLine", typeof(bool), typeof(TextFieldAssist), new PropertyMetadata(false));
380392
public static void SetTextBoxIsMultiLine(DependencyObject element, bool value)
381393
=> element.SetValue(TextBoxIsMultiLineProperty, value);
382394
public static bool GetTextBoxIsMultiLine(DependencyObject element)
383-
=> (bool) element.GetValue(TextBoxIsMultiLineProperty);
395+
=> (bool)element.GetValue(TextBoxIsMultiLineProperty);
384396

385397
#region Methods
386398

src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.AutoSuggestBox.xaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,11 @@
240240
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
241241
</MultiBinding>
242242
</Button.Visibility>
243-
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
243+
<wpf:PackIcon x:Name="ClearButtonIcon"
244+
Margin="0"
245+
Kind="CloseCircle"
246+
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
247+
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"/>
244248
</Button>
245249
</Grid>
246250
</Border>

src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,11 @@
485485
<Binding Path="IsEditable" RelativeSource="{RelativeSource TemplatedParent}" />
486486
</MultiBinding>
487487
</Button.Visibility>
488-
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
488+
<wpf:PackIcon x:Name="ClearButtonIcon"
489+
Margin="0"
490+
Kind="CloseCircle"
491+
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
492+
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"/>
489493
</Button>
490494
</Grid>
491495
</Grid>

src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DatePicker.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
wpf:TextFieldAssist.TrailingIconSize="{TemplateBinding wpf:TextFieldAssist.TrailingIconSize}"
7272
wpf:TextFieldAssist.DecorationVisibility="{TemplateBinding wpf:TextFieldAssist.DecorationVisibility}"
7373
wpf:TextFieldAssist.HasClearButton="{TemplateBinding wpf:TextFieldAssist.HasClearButton}"
74+
wpf:TextFieldAssist.ClearButtonSize="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
7475
wpf:TextFieldAssist.HasFilledTextField="{TemplateBinding wpf:TextFieldAssist.HasFilledTextField}"
7576
wpf:TextFieldAssist.HasOutlinedTextField="{TemplateBinding wpf:TextFieldAssist.HasOutlinedTextField}"
7677
wpf:TextFieldAssist.NewSpecHighlightingEnabled="{TemplateBinding wpf:TextFieldAssist.NewSpecHighlightingEnabled}"

src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,11 @@
284284
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
285285
</MultiBinding>
286286
</Button.Visibility>
287-
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
287+
<wpf:PackIcon x:Name="ClearButtonIcon"
288+
Margin="0"
289+
Kind="CloseCircle"
290+
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
291+
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}" />
288292
</Button>
289293
</Grid>
290294
</Border>
@@ -912,7 +916,11 @@
912916
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
913917
</MultiBinding>
914918
</Button.Visibility>
915-
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
919+
<wpf:PackIcon x:Name="ClearButtonIcon"
920+
Margin="0"
921+
Kind="CloseCircle"
922+
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
923+
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}" />
916924
</Button>
917925

918926
</Grid>

src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,11 @@
280280
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
281281
</MultiBinding>
282282
</Button.Visibility>
283-
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
283+
<wpf:PackIcon x:Name="ClearButtonIcon"
284+
Margin="0"
285+
Kind="CloseCircle"
286+
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
287+
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}" />
284288
</Button>
285289
</Grid>
286290
</Border>

0 commit comments

Comments
 (0)