如何将焦点设置为WPF工具包datagrid的特定单元格
我正在使用WPF工具包提供的DataGrid控件来显示产品列表及其OpenStock,描述等。在这个DataGrid中,我将OpenStock列设置为可编辑,其余是不可编辑的。 我现在想要什么,当我的这个窗口加载,我想将键盘焦点设置为OpenStock列的第一个单元格,如果可能的话,在编辑模式下。 我搜索了这个2天,最后在这里发帖。
任何帮助或代码示例都会有所帮助。
非常感谢……..
您需要将当前单元格设置为您想要编辑的单元格,然后在Loaded处理程序中调用BeginEdit :
dataGrid1.CurrentCell = new DataGridCellInfo( dataGrid1.Items[0], dataGrid1.Columns[3]); dataGrid1.BeginEdit();
如果在XAML中为DataGridTextColumn指定名称,则可以使用该名称而不是Columns[3]
。
使用此代码将滚动视图移动到特定单元格
dgv.ScrollIntoView(dgv.Items [row],dgv.Columns [col]);
使用下面的function,它会工作。
private void SetFocusOnGrid(DataGrid grid, int index) { grid.ScrollIntoView(grid.Items.GetItemAt(index)); grid.SelectionMode = DataGridSelectionMode.Single; grid.SelectionUnit = DataGridSelectionUnit.FullRow; grid.SelectedIndex = index; DataGridRow row = (DataGridRow)grid.ItemContainerGenerator.ContainerFromIndex(index); row.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next)); }
这对我有用:
DataGridCellInfo dataGridCellInfo = new DataGridCellInfo(dataGrid1.Items[sampleRowIndex], dataGrid1.Columns[sampleColumnIndex]); dataGrid1.SelectedCells.Clear(); dataGrid1.SelectedCells.Add(dataGridCellInfo);
这将选择您想要关注的单元格。
DataGridCellInfo对象提供有关单元格和与单元格关联的数据项的信息。 当DataGrid控件获取单元格时,例如在CurrentCell或SelectedCells属性中,它用于代替对实际DataGridCell对象的引用。 点击此处了解更多信息。
上述就是C#学习教程:如何将焦点设置为WPF工具包datagrid的特定单元格分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/958460.html