Warn about CapsLock

后端 未结 4 446
长情又很酷
长情又很酷 2020-12-10 17:57

I have a DataGridTemplateColumn with DataTemplate as a PasswordBox.

I want to warn user if CapsLock is toggled.

private void PasswordBox_PasswordChan         


        
4条回答
  •  执笔经年
    2020-12-10 18:42

    You could show a ToolTip

    private void PasswordBox_KeyDown(object sender, KeyEventArgs e)
    {
        if ((Keyboard.GetKeyStates(Key.CapsLock) & KeyStates.Toggled) == KeyStates.Toggled)
        {
            if (PasswordBox.ToolTip == null)
            {
                ToolTip tt = new ToolTip();
                tt.Content = "Warning: CapsLock is on";
                tt.PlacementTarget = sender as UIElement;
                tt.Placement = PlacementMode.Bottom;
                PasswordBox.ToolTip = tt;
                tt.IsOpen = true;
            }
        }
        else
        {
            var currentToolTip = PasswordBox.ToolTip as ToolTip;
            if (currentToolTip != null)
            {
                currentToolTip.IsOpen = false;
            }
    
            PasswordBox.ToolTip = null;
        }
    }
    

提交回复
热议问题