2010-11-30 6 views
2

Ich arbeite mit Wpf DataGrid. Ich habe das MouseDoubleClick-Ereignis von DataGrid behandelt, um den Datensatz im Detail auf einer separaten Seite zu öffnen. Also sollte die Funktionalität so aussehen, als würde ich auf einen Datensatz doppelklicken und er sollte auf einer separaten Seite öffnen. Aktuell Wenn ich auf den DataGrid-Header (Spaltenüberschrift) oder auf ScrollBar doppelklicke, wird ein Doppelklick auf die ausgewählte Zeile (ausgewählter Datensatz) ausgeführt. Ich möchte, dass ein Doppelklick auf die Zeile ausgeführt wird, wenn nur auf die Zeile doppelgeklickt wird. Jede Hilfe bitte !!Wpf DataGrid DoubleClick hat seltsames Verhalten

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

Antwort

3

Try LoadingRow Ereignis in DataGrid- und dann dem DoubleClick Ereignis in jeder Zeile zu behandeln.

musste ich auf die Mousedoubleclick abmelden und wieder anmelden, um diese Arbeit zu machen:

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

Wenn das Datagrid zurückgreifen (Klick auf den Spaltenüberschriften) das LoadingRow Ereignis ausgelöst wird, wieder manchmal: