另一个datagrid键绑定问题WPF datagrid和tab键
我有一个数据网格。它有选择模式设置为FullRow和KeyboardNavigation.TabNavigation =“一次”,我希望能得到我想要的结果,但它没有。
当数据网格具有焦点时按Tab键时,它将一个一个地在网格中的每个列上进行选择。因此,如果我在具有4列的网格中进行选择,我将不得不按4次选项卡才能进入下一个tabindex。
我想要的是让tab键在第一次按下时从数据网格中跳出并将焦点放在下一个tabindex上......如果这样做有道理。
我试图覆盖keydown事件处理程序中的tab键,就像这样。
class BetterDataGrid : DataGrid
{
..............
protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e)
{
..............
if (e.Key == Key.Tab)
{
Console.WriteLine("TAB");
MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
.........
}
它确实将“TAB”写入控制台,但该选项卡仍保持其默认行为。不知道这是否是进入下一个tabindex的正确方式,但是这应该使tab键不会做任何事情,而是写入控制台或导致异常。
使我认为覆盖标签键行为是不可能的。
希望得到一些有用的意见。
一如既往,在此先感谢。
抱歉,迟到的接受,没有得到测试的机会,但这是好的。谢谢 – 2011-05-18 00:14:27