C# 如何使tab键跳过WPF中的数据网格,而不是在按tab键时从一个字段移动到另一个字段

C# 如何使tab键跳过WPF中的数据网格,而不是在按tab键时从一个字段移动到另一个字段,c#,wpf,C#,Wpf,如何使tab键跳过WPF中的数据网格,C#。因此,不要在按下tab键的同时从一个字段移动到另一个字段,我需要tab键在数据网格出现后跳过它,而不要从一个字段移动到另一个字段?您需要抑制tab键的事件,并添加您自己的逻辑 首先添加事件处理程序(在代码或XAML中): 然后,实现您的逻辑: void MainWindow_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Tab) { e.Suppres

如何使tab键跳过WPF中的数据网格,C#。因此,不要在按下tab键的同时从一个字段移动到另一个字段,我需要tab键在数据网格出现后跳过它,而不要从一个字段移动到另一个字段?

您需要抑制tab键的事件,并添加您自己的逻辑

首先添加事件处理程序(在代码或XAML中):

然后,实现您的逻辑:

void MainWindow_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Tab)
    {
        e.SuppressKeyPress = true;

        FocusManager.SetFocusedElement(parentElement, theElementAfterTheGridID);
    }
}
我还没有测试它,但它应该接近代码


当然,这将在每次按下选项卡时发生,这取决于您希望它的行为。您还可以检查聚焦元素是网格还是该网格的单元格。

是否尝试过IsTabStop属性?
void MainWindow_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Tab)
    {
        e.SuppressKeyPress = true;

        FocusManager.SetFocusedElement(parentElement, theElementAfterTheGridID);
    }
}