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 1/2] =?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)); } From e2845f6c9f51d4440528d34c0605ac03f736699f Mon Sep 17 00:00:00 2001 From: Waheal <2035582067@qq.com> Date: Wed, 21 May 2025 19:57:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20new=20=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs b/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs index 80d2844d1..613b80b37 100644 --- a/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs +++ b/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs @@ -274,9 +274,7 @@ public void Clear() _textBox.Clear(); } -#pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new - public void Focus() -#pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new + public new void Focus() { ActualPasswordBox.Focus(); _textBox.Focus();