如何检查屏幕键盘的Ctrl键是否被按下?

时间:2015-07-27 20:00:09

标签: c# wpf keyboard touchscreen ctrl

我目前有这段代码:

        DataGrid.SelectionChanged += new SelectionChangedEventHandler(DataGrid_SelectionChanged);

        private void DataGrid_SelectionChanged(object sender, EventArgs e)
        {
            if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
            {
                //do stuff
            }
        }

当数据网格中的选择发生变化时,代码会检查Ctrl按钮,这对于检测正常物理键的Ctrl键很有效但是当我使用屏幕键盘并按下Ctrl键时它不会注册我的节目。此代码的根目录是,当您使用屏幕键盘上的Ctrl键时,无法按Ctrl +单击WPF中数据网格中的行。

编辑:如果在屏幕键盘上按下ctrl然后按“A”(选择全部),似乎满足if条件。没有其他快捷方式(ctrl + c,ctrl + v触发此响应)

1 个答案:

答案 0 :(得分:1)

我最终编码了问题,并在数据网格的每一行都添加了一个复选框。虽然这不再允许使用ctrl + click和shift + click,但选择机制的工作方式与在触摸屏上的工作方式相同,就像在物理键盘上一样。我希望屏幕键盘最终会更全面,并且有更少的错误"。