基本上,我正在尝试在TextBox中写入与用户输入相对应的键。问题是按下的键也会输入
XAML代码:
<TextBox
Name="TextBox1"
PreviewKeyDown="OnTextBoxOneKeyDown">
</TextBox>
xaml.cs代码:
private void OnTextBoxOneKeyDown(object sender, KeyEventArgs e)
{
TextBox1.Text = e.Key.ToString();
}
不幸的是,如果我输入字母's',在textBox中,它将写成'sS'而不是'S'。如果我输入'a',它将被写成'aA'而不是'A'。我需要keyDown事件的原因是,如果用户按下'Space','shift',来自小键盘的数字等,我想在textBox中写入。
谢谢
答案 0 :(得分:0)
由于PreviewKeyDown
和KeyDown
都被调用,因此会出现此类行为。您只需要通过设置e.Handled = true
private void OnTextBoxOneKeyDown(object sender, KeyEventArgs e)
{
TextBox1.Text = e.Key.ToString();
e.Handled = true;
}