Кнопка в DataGrid RowDetails требует двух кликов, обходной путь прерывает двойной щелчокC#

Место общения программистов C#
Anonymous
Кнопка в DataGrid RowDetails требует двух кликов, обходной путь прерывает двойной щелчок

Сообщение Anonymous »

У меня есть DataGrid с кнопкой, определенной в RowDetailsTemplate. Проблема в том, что при нажатии кнопки первый щелчок используется DataGrid для выбора строки, поэтому вам нужно нажать кнопку дважды.

Я попробовал предложенный здесь обходной путь: фокус wpf RowDetailsTemplate:

XAML:

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




Mode=OneWay}"/>


...


...

...


...

Код:

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

private void SelectRowDetails(object sender, MouseButtonEventArgs e)
{
var row = sender as DataGridRow;
if (row == null)
{
return;
}
row.Focusable = true;
row.Focus();

var focusDirection = FocusNavigationDirection.Next;
var request = new TraversalRequest(focusDirection);
var elementWithFocus = Keyboard.FocusedElement as UIElement;
if (elementWithFocus != null)
{
elementWithFocus.MoveFocus(request);
}
}
Это работает хорошо, но теперь мне нужно обнаружить событие двойного щелчка по строкам DataGrid. Я делаю это, добавляя InputBindings в DataGrid и передавая SelectedItem в качестве параметра команды:

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

...



...
Проблема в том, что двойной щелчок обнаруживается только в RowDetails (что хорошо), но не обнаруживается при двойном щелчке самих строк (что не так).

p>

Есть идеи?
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/351 ... uble-click

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