我们可以使用键事件
来检测键输入private void KeyUp_Or_KeyDown_Event(object sender, KeyEventArgs e)
{
if (e.Key==Key.SomeKey) //detect key
{
//do something
}
}
但是Key Enum中似乎没有很多键(参见链接)
https://msdn.microsoft.com/en-us/library/system.windows.input.key(v=vs.110).aspx
如' \' ,' [' ,' ]' ,' `',' ='等等,
检测不在密钥枚举中的密钥的任何方法?
以文本框为例, 即使用户在文本框中键入了很多随机文本,我也想这样做,只要用户按下分配键我就可以检测到它。
答案 0 :(得分:1)
构建一个快速测试应用程序,以查看您要查找的键的键值。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" KeyDown="Window_KeyDown">
<TextBlock Name="MyTextBlock">Hit a key</TextBlock>
</Window>
代码背后:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
MyTextBlock.Text = Enum.GetName(typeof(System.Windows.Input.Key), e.Key);
}
}
然后敲开钥匙,看看代码是什么。