IsLetter在DataGrid KeyDown事件上

时间:2016-09-07 07:47:28

标签: c# wpf datagrid char keydown

我试图通过计算输入是字母还是数字来将用户输入分解为DataGrid上的KeyDown事件。这是我到目前为止使用的方法;

private void OnDataGridKeyDown(object sender, KeyEventArgs e)
{
    if (char.IsLetter(Convert.ToChar(e.Key)))
    {
        MessageBox.Show("Letter");
    }
    if (char.IsDigit(Convert.ToChar(e.Key)))
    {
        MessageBox.Show("Number");
    }
}

然而,这表现得很棒。首先,IsDigit从未发生过,显然无法正常工作。其次,IsLetter可以工作,但仅限于某些字母(W,Z,X,V和Y)。必须有更全面的方法来做到这一点,因为这显然不适合我。

1 个答案:

答案 0 :(得分:1)

您期望在key.toChar()char之间存在差异。你可以在这里阅读转换,但这并不简单:

how to capture the '#' character on different locale keyboards in WPF/C#?