WPF Edit Cell на e.cancelC#

Место общения программистов C#
Ответить
Anonymous
 WPF Edit Cell на e.cancel

Сообщение Anonymous »

У меня есть DataGrid WPF, и я пытаюсь обработать сценарий, в котором элемент не существует в моей ViewModel. Когда это произойдет, я отображаю сообщение об ошибке и пытаюсь настроить фокус на ячейку DataGrid, чтобы позволить пользователю снова редактировать ячейку. Проблема в том, что, хотя она остается на ячейке, которая вызвала ошибку, она не выбирает все содержание ячейки. Вот мой код: < /p>

Код: Выделить всё

if (!_viewModel.ItemExists(codPro))
{
MessageBox.Show(
"O item não existe na tabela de itens.",
"Erro",
MessageBoxButton.OK,
MessageBoxImage.Error
);
e.Cancel = true;

(sender as DataGrid).Dispatcher.BeginInvoke((Action)(() =>
{
var dataGrid = sender as DataGrid;
if (dataGrid != null)
{
dataGrid.SelectedCells.Clear();
dataGrid.SelectedCells.Add(new DataGridCellInfo(e.Row.Item, e.Column));
dataGrid.CurrentCell = new DataGridCellInfo(e.Row.Item, e.Column);
dataGrid.BeginEdit();

var cellContent = dataGrid.Columns[e.Column.DisplayIndex].GetCellContent(e.Row);
if (cellContent != null)
{
var cell = cellContent.Parent as DataGridCell;
if (cell != null)
{
cell.Focus();
var textBox = cellContent as TextBox;
if (textBox != null)
{
textBox.SelectAll();
}
}
}
}
}));

return;
}
Что мне не хватает или делаю неправильно, что предотвращает выбрать все содержание ячейки?


Подробнее здесь: https://stackoverflow.com/questions/794 ... n-e-cancel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»