选择任何Windows控件时无法检测到某些键盘输入

时间:2018-06-19 13:01:45

标签: c# wpf windows xaml user-interface

我需要创建一个系统来检测WPF中的键盘输入,但是我遇到的问题是,每当选择特定于Windows的UI控件时,某些键实际上就会“绑定”到该控件。按钮,列表框,文本框,复选框和单选按钮之类的东西都捕获了空格键,Enter,箭头,Escape和Tab之类的键,而我不知道该如何破解。我需要获取完整的字符列表并将它们放入字符串中,但是当这些输入之一为空格时,这将成为问题,因此无法检测到。我尝试使用诸如选择负值和使用.Unselect()之类的方法,但这只会导致WPF中断绑定,而Windows仍会选择这些元素。我也尝试过使用PreviewKeyDown无济于事。我通常不喜欢在这里提问,但是我找不到任何解决方案。有人可以帮忙吗?

在这里进行检测:

<Window x:Class="DevelopmentTest.KeyboardTest"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="KeyboardTest" Width="1920" Height="1080" WindowState="Maximized" WindowStyle="None" HorizontalAlignment="Center" VerticalAlignment="Center" ResizeMode="NoResize" KeyDown="KeyboardEventListener" >

以下是选中某项时的列表框: When Item is Selected

这是我使用Unselect()的时候: Unselect()

注意虚线。

0 个答案:

没有答案