diff --git a/src/MaterialDesignThemes.Wpf/Converters/FloatingHintInitialHorizontalOffsetConverter.cs b/src/MaterialDesignThemes.Wpf/Converters/FloatingHintInitialHorizontalOffsetConverter.cs
index bb1d5a4c88..c9bf535f65 100644
--- a/src/MaterialDesignThemes.Wpf/Converters/FloatingHintInitialHorizontalOffsetConverter.cs
+++ b/src/MaterialDesignThemes.Wpf/Converters/FloatingHintInitialHorizontalOffsetConverter.cs
@@ -19,7 +19,8 @@ public class FloatingHintInitialHorizontalOffsetConverter : IMultiValueConverter
PrefixSuffixVisibility suffixVisibility,
PrefixSuffixHintBehavior prefixHintBehavior,
PrefixSuffixHintBehavior suffixHintBehavior,
- HorizontalAlignment horizontalContentAlignment
+ HorizontalAlignment horizontalContentAlignment,
+ bool isEditable,
])
{
return 0;
@@ -37,8 +38,11 @@ double GetLeftOffset()
return prefixVisibility switch
{
PrefixSuffixVisibility.WhenFocusedOrNonEmpty
- when prefixHintBehavior == PrefixSuffixHintBehavior.AlignWithText =>
+ when prefixHintBehavior == PrefixSuffixHintBehavior.AlignWithText && isEditable =>
prefixWidth + prefixMargin.Right,
+ PrefixSuffixVisibility.WhenFocusedOrNonEmpty
+ when prefixHintBehavior == PrefixSuffixHintBehavior.AlignWithPrefixSuffix && !isEditable =>
+ -(prefixWidth + prefixMargin.Right),
PrefixSuffixVisibility.Always
when prefixHintBehavior == PrefixSuffixHintBehavior.AlignWithPrefixSuffix =>
-(prefixWidth + prefixMargin.Right),
@@ -51,8 +55,11 @@ double GetRightOffset()
return suffixVisibility switch
{
PrefixSuffixVisibility.WhenFocusedOrNonEmpty
- when suffixHintBehavior == PrefixSuffixHintBehavior.AlignWithText =>
+ when suffixHintBehavior == PrefixSuffixHintBehavior.AlignWithText && isEditable =>
-(suffixWidth + suffixMargin.Left),
+ PrefixSuffixVisibility.WhenFocusedOrNonEmpty
+ when suffixHintBehavior == PrefixSuffixHintBehavior.AlignWithPrefixSuffix && !isEditable =>
+ suffixWidth + suffixMargin.Left,
PrefixSuffixVisibility.Always
when suffixHintBehavior == PrefixSuffixHintBehavior.AlignWithPrefixSuffix =>
suffixWidth + suffixMargin.Left,
diff --git a/src/MaterialDesignThemes.Wpf/SmartHint.cs b/src/MaterialDesignThemes.Wpf/SmartHint.cs
index c69eba8aac..41c8245531 100644
--- a/src/MaterialDesignThemes.Wpf/SmartHint.cs
+++ b/src/MaterialDesignThemes.Wpf/SmartHint.cs
@@ -258,7 +258,7 @@ private void RefreshState(bool useTransitions)
string state = string.Empty;
bool isEmpty = proxy.IsEmpty();
- bool isFocused = proxy.IsFocused();
+ bool isFocused = HintHost?.IsKeyboardFocusWithin ?? proxy.IsFocused();
if (UseFloating)
state = !isEmpty || isFocused ? HintFloatingPositionName : HintRestingPositionName;
diff --git a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.AutoSuggestBox.xaml b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.AutoSuggestBox.xaml
index a8f8f1123f..ece9dd79f4 100644
--- a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.AutoSuggestBox.xaml
+++ b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.AutoSuggestBox.xaml
@@ -71,29 +71,29 @@
+ VerticalAlignment="Stretch"
+ Background="{DynamicResource MaterialDesign.Brush.TextBox.HoverBackground}"
+ CornerRadius="{TemplateBinding wpf:TextFieldAssist.TextFieldCornerRadius}"
+ RenderTransformOrigin="0.5,0.5"
+ Visibility="{TemplateBinding wpf:TextFieldAssist.RippleOnFocusEnabled, Converter={x:Static converters:BooleanToVisibilityConverter.CollapsedInstance}}">
+ Padding="{TemplateBinding Padding}"
+ wpf:BottomDashedLineAdorner.Brush="{TemplateBinding BorderBrush}"
+ wpf:BottomDashedLineAdorner.Thickness="{Binding RelativeSource={RelativeSource Self}, Path=BorderThickness}"
+ Background="{TemplateBinding Background}"
+ BorderBrush="{TemplateBinding BorderBrush}"
+ BorderThickness="{TemplateBinding BorderThickness}"
+ CornerRadius="{TemplateBinding wpf:TextFieldAssist.TextFieldCornerRadius}"
+ SnapsToDevicePixels="True">
+ MinHeight="16"
+ VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
@@ -104,32 +104,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
+ Grid.Column="0"
+ Width="{TemplateBinding wpf:TextFieldAssist.LeadingIconSize}"
+ Height="{TemplateBinding wpf:TextFieldAssist.LeadingIconSize}"
+ Margin="0,0,6,0"
+ VerticalAlignment="{TemplateBinding wpf:TextFieldAssist.IconVerticalAlignment}"
+ Kind="{TemplateBinding wpf:TextFieldAssist.LeadingIcon}"
+ Opacity="{TemplateBinding wpf:HintAssist.HintOpacity}"
+ Visibility="{TemplateBinding wpf:TextFieldAssist.HasLeadingIcon, Converter={x:Static converters:BooleanToVisibilityConverter.CollapsedInstance}}" />
+
@@ -191,20 +174,38 @@
+ Background="{TemplateBinding wpf:HintAssist.Background}"
+ CornerRadius="2">
+
+
+
+
+
+
+
+
+
+
+
+
+ Grid.Column="3"
+ Margin="2,0,0,0"
+ VerticalAlignment="Center"
+ FontSize="{TemplateBinding FontSize}"
+ Opacity="{TemplateBinding wpf:HintAssist.HintOpacity}"
+ Text="{TemplateBinding wpf:TextFieldAssist.SuffixText}">
@@ -288,11 +289,10 @@
CornerRadius="{TemplateBinding wpf:TextFieldAssist.UnderlineCornerRadius}"
Visibility="{TemplateBinding wpf:TextFieldAssist.DecorationVisibility}" />
-
diff --git a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml
index ff3b415b4f..d6745207d8 100644
--- a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml
+++ b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml
@@ -216,6 +216,7 @@
+
@@ -836,6 +837,7 @@
+
diff --git a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml
index a20c25196a..52372c0272 100644
--- a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml
+++ b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml
@@ -151,24 +151,6 @@
Opacity="{TemplateBinding wpf:HintAssist.HintOpacity}"
Visibility="{TemplateBinding wpf:TextFieldAssist.HasLeadingIcon, Converter={x:Static converters:BooleanToVisibilityConverter.CollapsedInstance}}" />
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -236,6 +219,24 @@
+
+
+
+
+
+
+
+
+
+
+
+