Your sample does not work for me I think because I use GridDataVisibleColumn to add the columns.
Your example sets gridControl's ContextMenu
dataGridControl.ContextMenu = menu;
I already had the context menu set.
But when you use GridDataVisibleColumn that uses a TextBox,
the menu used is not the one in dataGridControl.
Please see my attached sample. I added event to handle PreviewMouseRightButtonDown
WPF_GDC_CheckBox_41be6e49.zip