绑定到大写锁定

gul*_*aek 4 c# wpf

我正在WPF中构建一个登录屏幕.我试图找出如何绑定我的代码的一部分只有在大写锁定键打开时才可见.

<StackPanel Grid.Row="3" Grid.ColumnSpan="2" Grid.Column="1" Orientation="Horizontal">
        <Image Source="../../../Resources/Icons/109_AllAnnotations_Warning_16x16_72.png" Height="16" Width="16"/>
        <Label>Caps lock is on</Label>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

我更喜欢只有xaml绑定的解决方案.

Mår*_*röm 10

我们在登录表单中使用以下方法,以在密码框具有焦点时显示"大写锁定警告".

    private void PasswordBox_PreviewKeyDown(object sender, KeyEventArgs e)
    {
        UpdateCapsLockWarning(e.KeyboardDevice);
    }

    private void PasswordBox_GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
    {
        UpdateCapsLockWarning(e.KeyboardDevice);
    }

    private void PasswordBox_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
    {
        CapsLockWarning.Visibility = Visibility.Hidden;
    }

    private void UpdateCapsLockWarning(KeyboardDevice keyboard)
    {
        CapsLockWarning.Visibility = keyboard.IsKeyToggled(Key.CapsLock) ? Visibility.Visible : Visibility.Hidden;
    }
Run Code Online (Sandbox Code Playgroud)

不是你正在寻找的只有约束力的答案.