У меня есть DataGrid WPF, который показывает некоторые записи данных (ограниченные ObservableCollection).WPF DataGrid - Установить ячейку в режим редактирования программно
Когда пользователь нажимает кнопку «Редактировать», выбранная строка в курсе должна перейти в режим редактирования (как если бы пользователь дважды щелкнул эту строку).
Любая идея о том, кто знает, как это сделать?
ответ
Here is the documentation of the WPF DataGrid on MSDN. Метод BeginEdit кажется тем, что вы ищете.
PS: Я не знаю, подходит ли это для вашего приложения, но многие пользователи DataGrid находят Single-Click Editing полезными.
Предполагая, что WPF:
<DataGrid x:Name="dg".... />
Тогда этот код будет работать:
dg.CurrentCell = new DataGridCellInfo(dg.Items[i], dg.Columns[j]);
dg.BeginEdit();
Обратите внимание, что порядок столбцов в Коллекция '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
[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