diff --git a/Toolkit.UI.Avalonia/BooleanToPasswordCharConverter.cs b/Toolkit.UI.Avalonia/BooleanToPasswordCharConverter.cs
new file mode 100644
index 0000000..2924780
--- /dev/null
+++ b/Toolkit.UI.Avalonia/BooleanToPasswordCharConverter.cs
@@ -0,0 +1,21 @@
+using Avalonia.Data.Converters;
+using Avalonia.Markup.Xaml;
+using System.Globalization;
+
+namespace Toolkit.UI.Avalonia;
+
+public class BooleanToPasswordCharConverter :
+ MarkupExtension,
+ IValueConverter
+{
+ public override object ProvideValue(IServiceProvider serviceProvider) =>
+ this;
+
+ public char PasswordChar { get; set; }
+
+ public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) =>
+ value is bool boolValue ? boolValue ? '\0' : PasswordChar : (object)PasswordChar;
+
+ public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) =>
+ throw new NotImplementedException();
+}
diff --git a/Toolkit.UI.Controls.Avalonia/SettingsExpander/SettingsExpander.axaml b/Toolkit.UI.Controls.Avalonia/SettingsExpander/SettingsExpander.axaml
index 519818b..cda8338 100644
--- a/Toolkit.UI.Controls.Avalonia/SettingsExpander/SettingsExpander.axaml
+++ b/Toolkit.UI.Controls.Avalonia/SettingsExpander/SettingsExpander.axaml
@@ -70,6 +70,7 @@
-