Kaynağa Gözat

输入密码框增加大小写切换显示

KWD 2 ay önce
ebeveyn
işleme
ab665291c5

+ 21 - 9
TeamAAS-VM/Views/User/LoginView.xaml

@@ -52,15 +52,27 @@
                     <materialDesign:PackIcon Grid.Row="2"
                                              Kind="Password"
                                              VerticalAlignment="Center"/>
-                    <PasswordBox Grid.Row="2"
-                             Height="50"
-                             Margin="20,0,20,0"
-                                 HorizontalContentAlignment="Left"
-                                 Style="{StaticResource MaterialDesignFloatingHintPasswordBox}"
-                                 materialDesign:HintAssist.HelperText="{lex:Loc 请输入用户登录密码}"
-                                 materialDesign:HintAssist.Hint="{lex:Loc 密码}"
-                                 materialDesign:TextFieldAssist.HasClearButton="True"
-                                 materialDesign:PasswordBoxAssist.Password="{Binding Path=UserPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True}"/>
+                    <PasswordBox x:Name="PwdBox"
+             Grid.Row="2"
+             Height="50"
+             Margin="20,0,20,0"
+             KeyUp="PwdBox_KeyUp"
+            GotFocus="PwdBox_GotFocus"
+             HorizontalContentAlignment="Left"
+             Style="{StaticResource MaterialDesignFloatingHintPasswordBox}"
+             materialDesign:HintAssist.HelperText="{lex:Loc 请输入用户登录密码}"
+             materialDesign:HintAssist.Hint="{lex:Loc 密码}"
+             materialDesign:TextFieldAssist.HasClearButton="True"
+             materialDesign:PasswordBoxAssist.Password="{Binding Path=UserPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True}"/>
+                    <TextBlock x:Name="CapsLockText"
+           Grid.Row="2"
+           Margin="25,52,0,0"
+           HorizontalAlignment="Left"
+           VerticalAlignment="Top"
+           FontSize="12"
+           Foreground="OrangeRed"
+           Text="⚠ 大写锁定已开启"
+           Visibility="Collapsed"/>
                     <Grid Grid.Row="3"
                           Height="40"
                           Margin="20,5,20,0">

+ 20 - 1
TeamAAS-VM/Views/User/LoginView.xaml.cs

@@ -1,4 +1,7 @@
-using System.Windows.Controls;
+using MaterialDesignThemes.Wpf;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
 
 namespace TeamAAS_VP.Views.User
 {
@@ -11,5 +14,21 @@ namespace TeamAAS_VP.Views.User
         {
             InitializeComponent();
         }
+        private void PwdBox_GotFocus(object sender, RoutedEventArgs e)
+        {
+            PwdBox.SetValue(
+                HintAssist.HelperTextProperty,
+                Keyboard.IsKeyToggled(Key.CapsLock)
+                    ? "⚠ 大写锁定已开启"
+                    : "请输入用户登录密码");
+        }
+        private void PwdBox_KeyUp(object sender, KeyEventArgs e)
+        {
+            PwdBox.SetValue(
+                HintAssist.HelperTextProperty,
+                Keyboard.IsKeyToggled(Key.CapsLock)
+                    ? "⚠ 大写锁定已开启"
+                    : "请输入用户登录密码");
+        }
     }
 }