2017-09-14 5 views
-1

Wenn dieses Ereignis ausgelöst wird:Feuer mehrere selection Ereignis

private void DataGrid_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) 

ich auch

private void TabControl_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) 

innerhalb des DataGrid_SelectionChanged abzufeuern müssen, wie kann ich konvertieren den Absender? Vielen Dank.

+0

Das sind Methoden, nicht 'Ereignis's. Und "Ereignisse" können nur durch den umschließenden Typ ausgelöst werden, der sie definiert hat. Wenn Sie die andere Methode aufrufen möchten, wenn die erste Methode aufgerufen wird, sollten Sie dies manuell tun. – dcg

+0

übergeben Sie einfach Ihre Registerkarte Steuerelement abject beim Aufruf dieser Event-Handler-Methode .. 'TabControl_SelectionChanged (tabControl1, null);' oder Sie können beide Steuerelemente Ereignis an den gleichen Event-Handler binden. 'DataGrid_SelectionChanged + = Control_SelectionChange; TabControl.SelectionChanged + = Control_SelectionChange; ' –

+0

** Das ist eine schlechte Methode. ** Sie können den zweiten Handler von Anfang an aufrufen, aber am Ende haben Sie einen verwirrenden Code, und bald werden Sie seltsame Sonderfälle hinzufügen * einige * des Codes im zweiten Handler. Wenn Sie Code haben, der bei der Änderung der TabControl-Auswahl * und * bei der Änderung der DataGrid-Auswahl passieren muss, fügen Sie diesen Code in eine andere Methode derselben Klasse ein und geben Sie dieser Methode einen geeigneten Namen, der beschreibt, was sie tut. Rufen Sie es von beiden Handlern an. –

Antwort

0

Was verhindert, dass Sie so anrufen?

private void DataGrid_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) 
{ 
    . . . 
    TabControl_SelectionChanged(yourTabControl, e); 
    . . . 
} 
+0

ist das eine gute Praxis? –

+0

@ Mario Serda Nein, ist es nicht. Was ist das eigentliche Ziel? Warum sagen Sie, dass Sie das SelectionChanged-Ereignis von TabControl simulieren müssen? –

+0

Es ist nichts falsch daran. – SeM

Verwandte Themen