3

我有一个编辑窗口,弹出一个网格。这个网格是 ComponentOne 制作的 C1FlexGrid。(但我认为这可能是其他网格的类似问题..)

当我从主窗口打开该窗口时,我希望该网格中的第一行获得焦点并被选中。

最好在 xaml 中,但如果这在代码隐藏或继承 flexgrid 中是不可能的。

我知道如何设置要选择的行和获取焦点的网格,但该行没有聚焦,因此我无法通过使用键盘上的向上和向下箭头移动来遍历网格中的行。

4

1 回答 1

1

以编程方式选择 WPF DataGrid 中的一行,然后以编程方式将焦点放在该单元格上,这样您就可以使用键盘上的箭头键在 DataGrid 中导航,用于选择的部分代码是:

int index = 1;
dgUsers.SelectedItem = dgUsers.Items[index];
dgUsers.ScrollIntoView(dgUsers.Items[index]);
DataGrid dgrow =                                                                                                 (DataGrid)dgUsers.ItemContainerGenerator.ContainerFromItem(dgUsers.Items[index]);
dgrow.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
于 2014-09-15T10:19:08.067 回答