[使用箭头键的WPF数据网格单元格循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[使用箭头键的WPF数据网格单元格循环相关的知识,希望对你有一定的参考价值。

我有一个简单的数据网格,我使用向下箭头键浏览其中的项目,但是当我到达最后一行并继续按下时,它停止了并且无法导航,好像它失去了焦点。如何使用按键循环浏览?标记中是否有此属性,或者我需要在后面的代码中使用它吗?

答案

据我所知,没有办法从标记中更改默认选择行为,因此您需要在后面的代码中进行此操作。

此处描述默认行为:

Default Keyboard and Mouse Behavior in the DataGrid Control

这应该很简单,您可以在DataGrid的PreviewKeyDown事件处理程序中执行类似的操作:

if (e.Key == Key.Down && MyDataGrid.SelectedIndex == (MyDataGrid.Items.Count - 1))
{
    MyDataGrid.SelectedIndex = 0;                
    MyDataGrid.ScrollIntoView(MyDataGrid.SelectedItem);
    e.Handled = true;
}

但是,尽管这将根据需要选择第一行,但是所选单元格的键盘焦点将干扰以后的按键操作。

如果您确实想要此行为,请在此处找到一篇非常好的文章:

WPF: Programmatically Selecting and Focusing a Row or Cell in a DataGrid

以上是关于[使用箭头键的WPF数据网格单元格循环的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WPF 数据网格中选择单个单元格?

C# WPF 工具包:如何​​使数据网格中的单元格可编辑?

可以在 WPF 数据网格中禁用 F2 键吗?

如何将数据放入WPf数据网格特定单元格中

WPF 数据网格。无法突出显示自定义样式的单元格

读取自定义Datagrid的每个单元格数据 - WPF C#