From c0abeec7c4a4222c6554654d9eb249c739fb3144 Mon Sep 17 00:00:00 2001 From: Waheal <2035582067@qq.com> Date: Sun, 9 Feb 2025 19:44:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DPassword=E7=9A=84Focus()?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E5=A4=B1=E6=95=88=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controls/Input/PasswordBox.cs | 14 +++++++++++++- .../Interactivity/Commands/ControlCommands.cs | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs b/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs index 51a2bb145..80d2844d1 100644 --- a/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs +++ b/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs @@ -149,7 +149,11 @@ public Brush CaretBrush #endif - public PasswordBox() => CommandBindings.Add(new CommandBinding(ControlCommands.Clear, (s, e) => Clear())); + public PasswordBox() + { + CommandBindings.Add(new CommandBinding(ControlCommands.Clear, (s, e) => Clear())); + CommandBindings.Add(new CommandBinding(ControlCommands.Focus, (s, e) => Focus())); + } public System.Windows.Controls.PasswordBox ActualPasswordBox { get; set; } @@ -270,6 +274,14 @@ public void Clear() _textBox.Clear(); } +#pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new + public void Focus() +#pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new + { + ActualPasswordBox.Focus(); + _textBox.Focus(); + } + private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e) { if (!IsSafeEnabled) diff --git a/src/Shared/HandyControl_Shared/Interactivity/Commands/ControlCommands.cs b/src/Shared/HandyControl_Shared/Interactivity/Commands/ControlCommands.cs index 015d63dca..6c9ecb52f 100644 --- a/src/Shared/HandyControl_Shared/Interactivity/Commands/ControlCommands.cs +++ b/src/Shared/HandyControl_Shared/Interactivity/Commands/ControlCommands.cs @@ -188,4 +188,6 @@ public static class ControlCommands public static RoutedCommand More { get; } = new(nameof(More), typeof(ControlCommands)); public static RoutedCommand Toggle { get; } = new(nameof(Toggle), typeof(ControlCommands)); + + public static RoutedCommand Focus { get; } = new(nameof(Focus), typeof(ControlCommands)); }