我有一个简单的应用程序,用户在文本中键入并按Enter键,然后文本显示在大屏幕上。
问题:如何在WPF应用中获取e.KeyChar
,KeyUp事件?
或者还有另一种方式吗?
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.KeyUp += MainWindow_KeyUp;
}
private String Text;
void MainWindow_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
TextLabel.Content = Text;
Text = String.Empty;
}
else
{
Text += e.Key;
}
}
我输入“test”时的结果是“TEST”。 我是否必须手动处理所有系统密钥?如果我想键入“测试” - >现在我得到了结果“RihgtShiftTEST”。我想要的只是累积一个字符缓冲区,并显示文本。
答案 0 :(得分:2)
对于阅读文本输入,最好使用以下事件:
http://msdn.microsoft.com/en-us/library/system.windows.uielement.ontextinput.aspx
TextCompositionEventArgs的“Text”成员已经提供了高级纯文本并过滤掉了所有讨厌的控制字符等。