Открытие контекстного меню datagrid из code-behind вызывает исключение нулевой ссылки, когда индекс равен -1
Проблема C#, wpf:
У меня есть таблица данных с контекстным меню. На событие `previewmouserightbuttonup` на `элемент управления DataGrid`, я `контекстное меню` целевым размещением в элементе управления DataGrid`, выберите `контекстное меню` DataContext для модели представления, и откройте контекстное меню.
Все работает, когда выбранный индекс сетки данных равен >= 0, но когда "selectedindex" datagrid (отправитель события мыши) равен -1, Я получаю "исключение нулевой ссылки" для контекстного меню.
Как открыть " contextmenu`, когда selectedindex равен -1.
Что я уже пробовал:
Код поддержки
void Datagrid_PreviewMouseRightButtonUp(object sender, MouseEventArgs e) { var datagrid = sender as DataGrid; datagrid.ContextMenu.DataContext = this.DataContext; datagrid.ContextMenu.PlacementTarget = datagrid; datagrid.ContextMenu.IsOpen = true; e.Handled = true; }
код XAML
У меня есть следующий набор на datagrid для обработки события PreviewMouseRightButtonUp:
PreviewMouseRightButtonUp = " Datagrid_PreviewMouseRightButtonup"