【发布时间】:2017-02-15 21:05:09
【问题描述】:
我有一个带有DataGridComboBoxColumn 的数据网格。
我希望我的用户只需键入即可进入编辑模式。
这是DataGridTextColumn 的默认行为,我不喜欢他们必须按 F2 才能启用此列类型的编辑。
我怎样才能让DataGridComboBoxColumn 进入编辑模式而不需要按 F2?理想情况下在 Key Press 上,但如果它也可以在焦点上进入编辑模式,我会很好。
解决方案 修改已接受的答案以恢复数据网格的基本功能:
void Cell_PreviewKeyDown(object sender, KeyEventArgs e)
{
if(e.Key == Key.Enter || e.Key == Key.Tab)
{
dgBins.CommitEdit();
dgBins.SelectedIndex += 1;
}else if(e.Key.ToString().Length == 1
|| (e.Key.ToString().StartsWith("D") && e.Key.ToString().Length == 2)
|| e.Key.ToString().StartsWith("NumPad")
|| e.Key == Key.Delete
|| e.Key == Key.Back )
{
if (e.OriginalSource is DataGridCell)
{
DataGridCell cell = (sender as DataGridCell);
Control elem = FindChild<Control>(cell, null);
elem.Focus();
}
}
}
【问题讨论】:
标签: wpf combobox datagrid keypress