2009-10-27 4 views
8
  • У меня есть DataGrid WPF, который показывает некоторые записи данных (ограниченные ObservableCollection).WPF DataGrid - Установить ячейку в режим редактирования программно

  • Когда пользователь нажимает кнопку «Редактировать», выбранная строка в курсе должна перейти в режим редактирования (как если бы пользователь дважды щелкнул эту строку).

  • Любая идея о том, кто знает, как это сделать?

+0

[Found еще один пост, который отвечает на этот вопрос.] [1] Работал для меня. [1]: http://stackoverflow.com/questions/3421597/how-to-set-focus-to-particular-cell-of-wpf-toolkit-datagrid – 2011-10-21 18:30:09

ответ

3

Предполагая, что WPF:

<DataGrid x:Name="dg".... /> 

Тогда этот код будет работать:

dg.CurrentCell = new DataGridCellInfo(dg.Items[i], dg.Columns[j]); 
dg.BeginEdit(); 
+0

Обратите внимание, что порядок столбцов в Коллекция 'dg.Columns' не обязательно будет отображаться на экране, см. примечание в https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.columns(v=vs.110) .aspx #. Если вам нужно индексировать по порядку отображения, просто сохраните 'dg.Columns.OrderBy (c => c.DisplayIndex) .ToArray()' в локальной переменной и вместо этого индексируйте в этот массив. – Gooseberry