如何在WPF中的网格中设置焦点

时间:2012-06-08 08:14:19

标签: wpf grid focus componentone c1flexgrid

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

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

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

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

1 个答案:

答案 0 :(得分:0)

以编程方式在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));
相关问题