Autor Beitrag
Legolas
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 22.05.14 13:00 
Hallo allerseits,

Ich bin (wie man wahrscheinlich auch in meinem Profil sehen kann) neu hier, und versuche momentan durch die Erstellung eigener Events durchzusteigen, aber ich steh da irgendwie auf dem Schlauch...
Der Code ist ja eigentlich recht übersichtlich, aber ich kriegs einfach nicht auf die Reihe zu verstehen, welcher Befehl was macht.
Kann mir da jemand weiterhelfen? :)
Ach ja: Konkret brauche ich das gerade um folgendes Problem zu lösen:
Ich habe ein Fenster, und in diesem Fenster 5 UserControls. Wenn ich in einer dieser UserControls einen Button klicke, soll in allen anderen UserControls eine Liste aktualisiert werden.

Viele Grüße und schon mal Danke im Vorraus!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 22.05.14 14:43 
Hallo und :welcome:

die MSDN-Seite Gewusst wie: Veröffentlichen von Ereignissen, die den .NET Framework-Richtlinien entsprechen hat ein umfassendes Beispiel dafür. Weitere Infos finden sich unter dessen Hauptseite Ereignisse (C#-Programmierhandbuch).

Für dein konkretes Problem bietet es sich an, für die UserControls eine Basisklasse zu erstellen, in der dann das Event deklariert wird (sofern es sich bei deinen UserControls wirklich um verschiedene Typen handelt). Dein Hauptfenster abonniert dann dieses Ereignis bei allen 5 UserControls und ruft dann die Aktualisierungsmethode bei den einzelnen UserControls auf.

Noch besser wäre es jedoch bei WPF, wenn du nach MVVM vorgehst, d.h. per INotifyPropertyChanged (bzw. INotifyCollectionChanged) die Listen aktualisierst (d.h. du bräuchtest dann keine eigenen Events erzeugen, sondern nur das PropertyChanged-Ereignis auslösen).
Legolas Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 30.05.14 13:57 
Ok, danke!
Habs jetzt! :)