J'ai défini un DataGrid comme celui-ci ::
menu contextuel Désactiver sur certaines cellules DatGrid WPF
<cc:PEDataGrid AutoGenerateColumns="False"
ItemsSource="{Binding Rows}"
Width="Auto"
PreviewMouseRightButtonDown="PEGrid_PreviewMouseRightButtonDown"
Loaded="CommonPEGrid_Loaded">
<wpfkit:DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Cut" />
<MenuItem Header="Copy"/>
<MenuItem Header="Paste"/>
</ContextMenu>
</wpfkit:DataGrid.ContextMenu>
</cc:PEDataGrid>
Cela montre contextMenu sur chaque cellule quand un clic droit est fait.
Je veux désactiver le menu contextuel pour toutes les cellules sauf les en-têtes et également sur l'en-tête pour certaines conditions. (je ne veux pas utiliser DataGridHeaderStyle en raison d'autres problèmes que je ne veux pas expliquer ici.)
J'ai défini un gestionnaire pour PreviewMouseRightButtonDown sur la grille de données et dans le gestionnaire que je suis en train de faire quelque chose comme Je veux savoir où je me trompe !! S'il vous plaît aidez-moi à ce sujet. guider aussi me faire une meilleure façon si je réalisais mon exigence dans un mauvais sens :)
J'ai utilisé cette réponse comme base pour l'arrêt du menu contextuel affiché sur les en-têtes. Merci d'avoir posté votre solution de fonctionnement finale. – coffeecoder
qu'est-ce que dg ici .. et comment pouvons-nous appeler cet événement n'importe où .. – Silver