2010-11-30 40 views
2

Je travaille avec Wpf DataGrid. J'ai manipulé l'événement MouseDoubleClick de DataGrid pour ouvrir l'enregistrement en détail dans la page séparée. Donc, la fonctionnalité devrait être comme je double-clique sur un enregistrement et il devrait ouvrir dans une page séparée. Actuellement, lorsque je double-clique sur l'en-tête DataGrid (en-tête de colonne) ou sur ScrollBar, il double-clique sur la ligne sélectionnée (enregistrement sélectionné). Je veux qu'il prenne un double clic de ligne si on double-clique seulement sur la ligne. Toute aide s'il vous plaît !!Wpf DataGrid DoubleClick a un comportement étrange

Répondre

3

Essayez de gérer LoadingRow événement dans DataGrid et l'événement DoubleClick dans chaque ligne:

private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e) 
{ 
    e.Row.MouseDoubleClick += new MouseButtonEventHandler(Row_MouseDoubleClick); 
} 
1

Lorsque le recours à la DataGrid (en cliquant sur les en-têtes de colonnes) l'événement LoadingRow est tiré à nouveau parfois.

je devais résilier votre abonnement et réabonner au MouseDoubleClick pour faire ce travail:

private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e) { 
    e.Row.MouseDoubleClick -= Row_MouseDoubleClick; 
    e.Row.MouseDoubleClick += Row_MouseDoubleClick; 
}