小智 5
您可以使用 TextInput 事件而不是 KeyDown 吗?TextCompositionEventArgs 类允许您直接检索通过 e.text 属性输入的文本
private void UserControl_TextInput(
object sender,
System.Windows.Input.TextCompositionEventArgs e)
{
var t = e.Text;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有简单的方法可以做到这一点。有两种解决方法,但在某些条件下它们都会失败。
第一个是将其转换为字符串:
TestLabel.Content = e.Key.ToString();
Run Code Online (Sandbox Code Playgroud)
这将为您提供诸如 CapsLock 和 Shift 等功能,但是,对于字母数字键,它无法告诉您当时 Shift 等的状态,因此您必须弄清楚这一点你自己。
第二种选择是使用 TextInput 事件,其中 e.Text 将包含输入的实际文本。这将为您提供字母数字键的正确字符,但不会为您提供控制字符。
| 归档时间: |
|
| 查看次数: |
11118 次 |
| 最近记录: |