Entwickler-Ecke
WPF / Silverlight - Event durch anderes event aufrufen
DrHoas - Di 12.04.11 22:46
Titel: Event durch anderes event aufrufen
Hallo,
ich hab
C#-Quelltext
1: 2: 3: 4:
| private void listboxSc_Loaded(object sender, RoutedEventArgs e) { CodeABC } |
und jetzt gemerkt, dass ich beim Klick auf eine TextBox bis auf zwei zusätzlich Zeilen genau den CodeABC brauche. Wie kann man listboxSc_Loaded aufrufen?
Dank und Gruß
Philipp
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
hobbyC#ler - Di 12.04.11 22:50
Hallo,
ich würde einfach den Code in eine separate Methode auslagern und diese dann von den entsprechenden Stellen aufrufen.
MfG
DrHoas - Mi 13.04.11 09:16
ja, das ist mir gestern in der Situation in der auch der Fluxkompensator erdacht wurde, auch noch eingefallen :-)
Gruß
Philipp
3marci - Sa 16.04.11 12:38
EInfach nur Aufrufen?
C#-Quelltext
1:
| listboxSc_Loaded(null, null); |
jaenicke - Sa 16.04.11 12:57
Klar geht das, ist aber nicht sinnvoll. Die richtige Lösung wurde ja bereits genannt.
c#surfer - Sa 16.04.11 21:59
Warum ist der Aufruf
C#-Quelltext
1:
| listboxSc_Loaded(null, null); |
nicht sinnvoll?
jaenicke - Sa 16.04.11 22:27
Weil es Blödsinn ist, einen Ereignishandler anders aufzurufen als durch das Auslösen des Events. Das macht den Quelltext nur unnötig schwer nachzuvollziehen.
Wenn man selbst eigene Methoden braucht, die man aufrufen möchte, dann kann man die auch als solche selbst erstellen und ordentlich benennen. Dann sieht man sofort, für was die Methode da ist (vorausgesetzt man bezeichnet die auch ordentlich). Und man sieht auch was an der Stelle passiert, wo diese aufgerufen wird.
Wenn man sieht, dass Loaded einer Komponente aufgerufen wird, wird man wohl kaum wirklich erkennen was da passieren wird. Jedenfalls schlechter als mit einer ordentlich bezeichneten eigenen Methode.
Th69 - So 17.04.11 12:09
Und gerade der Aufruf mit den null-Parametern ist überhaupt nicht sinnvoll, falls man nämlich in der Event-Methode auf die 'sender' bzw. 'e'-Variable zugreift -> NullReferenceException!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!