Member 13044924 Ответов: 0

Открытие контекстного меню 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"

0 Ответов