Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 19 additions & 7 deletions src/MaterialDesignThemes.Wpf/TextFieldAssist.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public static class TextFieldAssist

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

public static VerticalAlignment GetTextBoxViewVerticalAlignment(DependencyObject element) => (VerticalAlignment) element.GetValue(TextBoxViewVerticalAlignmentProperty);
public static VerticalAlignment GetTextBoxViewVerticalAlignment(DependencyObject element) => (VerticalAlignment)element.GetValue(TextBoxViewVerticalAlignmentProperty);

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

public static PrefixSuffixVisibility GetSuffixTextVisibility(DependencyObject element)
=> (PrefixSuffixVisibility) element.GetValue(SuffixTextVisibilityProperty);
=> (PrefixSuffixVisibility)element.GetValue(SuffixTextVisibilityProperty);

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

public static PrefixSuffixHintBehavior GetSuffixTextHintBehavior(DependencyObject element)
=> (PrefixSuffixHintBehavior) element.GetValue(SuffixTextHintBehaviorProperty);
=> (PrefixSuffixHintBehavior)element.GetValue(SuffixTextHintBehaviorProperty);

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

public static PrefixSuffixVisibility GetPrefixTextVisibility(DependencyObject element)
=> (PrefixSuffixVisibility) element.GetValue(PrefixTextVisibilityProperty);
=> (PrefixSuffixVisibility)element.GetValue(PrefixTextVisibilityProperty);

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

/// <summary>
/// Controls the size of the clear button.
/// </summary>
public static readonly DependencyProperty ClearButtonSizeProperty = DependencyProperty.RegisterAttached(
"ClearButtonSize", typeof(double), typeof(TextFieldAssist), new PropertyMetadata(16.0d));

public static void SetClearButtonSize(DependencyObject element, double value)
=> element.SetValue(ClearButtonSizeProperty, value);

public static double GetClearButtonSize(DependencyObject element)
=> (double)element.GetValue(ClearButtonSizeProperty);

/// <summary>
/// Controls visibility of the leading icon
/// </summary>
Expand Down Expand Up @@ -316,7 +328,7 @@ public static void SetIconVerticalAlignment(DependencyObject element, VerticalAl
=> element.SetValue(IconVerticalAlignmentProperty, value);

public static VerticalAlignment GetIconVerticalAlignment(DependencyObject element)
=> (VerticalAlignment) element.GetValue(IconVerticalAlignmentProperty);
=> (VerticalAlignment)element.GetValue(IconVerticalAlignmentProperty);

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

Expand Down Expand Up @@ -373,14 +385,14 @@ public static Thickness GetOutlinedBorderActiveThickness(DependencyObject elemen
public static void SetTextBoxLineCount(DependencyObject element, int value)
=> element.SetValue(TextBoxLineCountProperty, value);
public static int GetTextBoxLineCount(DependencyObject element)
=> (int) element.GetValue(TextBoxLineCountProperty);
=> (int)element.GetValue(TextBoxLineCountProperty);

public static readonly DependencyProperty TextBoxIsMultiLineProperty = DependencyProperty.RegisterAttached(
"TextBoxIsMultiLine", typeof(bool), typeof(TextFieldAssist), new PropertyMetadata(false));
public static void SetTextBoxIsMultiLine(DependencyObject element, bool value)
=> element.SetValue(TextBoxIsMultiLineProperty, value);
public static bool GetTextBoxIsMultiLine(DependencyObject element)
=> (bool) element.GetValue(TextBoxIsMultiLineProperty);
=> (bool)element.GetValue(TextBoxIsMultiLineProperty);

#region Methods

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,20 +227,25 @@
Visibility="{TemplateBinding wpf:TextFieldAssist.HasTrailingIcon, Converter={x:Static converters:BooleanToVisibilityConverter.CollapsedInstance}}" />

<Button x:Name="PART_ClearButton"
Grid.Column="5"
Height="Auto"
Padding="2,0,0,0"
Command="{x:Static internal:ClearText.ClearCommand}"
Focusable="False"
VerticalAlignment="{TemplateBinding wpf:TextFieldAssist.IconVerticalAlignment}"
Style="{StaticResource MaterialDesignToolButton}">
Grid.Column="5"
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Padding="2,0,0,0"
Command="{x:Static internal:ClearText.ClearCommand}"
Focusable="False"
VerticalAlignment="{TemplateBinding wpf:TextFieldAssist.IconVerticalAlignment}"
Style="{StaticResource MaterialDesignToolButton}">
<Button.Visibility>
<MultiBinding Converter="{StaticResource ClearButtonVisibilityConverter}">
<Binding Path="(wpf:TextFieldAssist.HasClearButton)" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
</MultiBinding>
</Button.Visibility>
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
<wpf:PackIcon x:Name="ClearButtonIcon"
Margin="0"
Kind="CloseCircle"
Height="auto"
Width="auto" />
</Button>
</Grid>
</Border>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,8 @@

<Button x:Name="PART_ClearButton"
Grid.Column="5"
Height="Auto"
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Opacity="{TemplateBinding wpf:HintAssist.HintOpacity}"
Padding="2,0,0,0"
Command="{x:Static internal:ClearText.ClearCommand}"
Expand All @@ -485,7 +486,11 @@
<Binding Path="IsEditable" RelativeSource="{RelativeSource TemplatedParent}" />
</MultiBinding>
</Button.Visibility>
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
<wpf:PackIcon x:Name="ClearButtonIcon"
Margin="0"
Kind="CloseCircle"
Height="auto"
Width="auto" />
</Button>
</Grid>
</Grid>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
wpf:TextFieldAssist.TrailingIconSize="{TemplateBinding wpf:TextFieldAssist.TrailingIconSize}"
wpf:TextFieldAssist.DecorationVisibility="{TemplateBinding wpf:TextFieldAssist.DecorationVisibility}"
wpf:TextFieldAssist.HasClearButton="{TemplateBinding wpf:TextFieldAssist.HasClearButton}"
wpf:TextFieldAssist.ClearButtonSize="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
wpf:TextFieldAssist.HasFilledTextField="{TemplateBinding wpf:TextFieldAssist.HasFilledTextField}"
wpf:TextFieldAssist.HasOutlinedTextField="{TemplateBinding wpf:TextFieldAssist.HasOutlinedTextField}"
wpf:TextFieldAssist.NewSpecHighlightingEnabled="{TemplateBinding wpf:TextFieldAssist.NewSpecHighlightingEnabled}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,8 @@
<Button x:Name="PART_ClearButton"
Foreground="{TemplateBinding Foreground}"
Grid.Column="5"
Height="Auto"
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Opacity="{TemplateBinding wpf:HintAssist.HintOpacity}"
Padding="2,0,0,0"
Command="{x:Static internal:ClearText.ClearCommand}"
Expand All @@ -284,7 +285,11 @@
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
</MultiBinding>
</Button.Visibility>
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
<wpf:PackIcon x:Name="ClearButtonIcon"
Margin="0"
Kind="CloseCircle"
Height="auto"
Width="auto" />
</Button>
</Grid>
</Border>
Expand Down Expand Up @@ -898,7 +903,8 @@

<Button x:Name="PART_ClearButton"
Grid.Column="6"
Height="Auto"
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Opacity="{TemplateBinding wpf:HintAssist.HintOpacity}"
Padding="2,0,0,0"
Command="{x:Static internal:ClearText.ClearCommand}"
Expand All @@ -912,7 +918,11 @@
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
</MultiBinding>
</Button.Visibility>
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
<wpf:PackIcon x:Name="ClearButtonIcon"
Margin="0"
Kind="CloseCircle"
Height="auto"
Width="auto" />
</Button>

</Grid>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,8 @@

<Button x:Name="PART_ClearButton"
Grid.Column="5"
Height="Auto"
Height="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Width="{TemplateBinding wpf:TextFieldAssist.ClearButtonSize}"
Opacity="{TemplateBinding wpf:HintAssist.HintOpacity}"
Padding="2,0,0,0"
Command="{x:Static internal:ClearText.ClearCommand}"
Expand All @@ -280,7 +281,11 @@
<Binding ElementName="Hint" Path="IsContentNullOrEmpty" />
</MultiBinding>
</Button.Visibility>
<wpf:PackIcon x:Name="ClearButtonIcon" Margin="0" Kind="CloseCircle" />
<wpf:PackIcon x:Name="ClearButtonIcon"
Margin="0"
Kind="CloseCircle"
Height="auto"
Width="auto" />
</Button>
</Grid>
</Border>
Expand Down
Loading