2013-02-26 6 views
3

У меня есть DataGrid, созданный в XAML в проекте C#. Я добавил контекстное меню в строки. В основном, когда пользователь нажимает прямо на ячейку, он должен открыть соответствующий элемент в текущем окне, который реализован на событии SelectionChanged.Щелкните правой кнопкой мыши в DataGrid

Однако, если пользователь нажимает на строку, он должен отображать контекстное меню без выбора строки, чтобы пользователь мог выбрать элемент в контекстном меню, чтобы открыть соответствующий элемент в новом окне. Таким образом, они могут смотреть как на уже выбранный элемент, так и на новый элемент одновременно, но при выборе правой кнопкой мыши эту строку пользователь видит новый выбранный элемент в текущем окне и в новом окне.

Как остановить действие правой кнопки мыши, чтобы отобразить контекстное меню, выбрав ячейку?

ответ

0

См. wpf listview right-click problem для получения потенциального ответа; не намного больше сказать ... события предварительного просмотра должны помочь.

+0

Это не работает, строки не жестко закодированы в XAML, используются привязки. –

+0

Верно, пример кода может выглядеть так, но базовая идея по-прежнему хороша: вам нужно предоставить ItemContainerStyle, который будет применяться ко всем элементам (в ваших строках) независимо от того, как они созданы (посредством привязки или вручную). Точный синтаксис для DataGrid может быть немного иным, но я уверен, что вы можете найти пример. –

Смежные вопросы