Laden...

Events von Steuerelementen in einer anderen Klassen abonnieren

Erstellt von EyeTrackJack vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.014 Views
E
EyeTrackJack Themenstarter:in
35 Beiträge seit 2019
vor 4 Jahren
Events von Steuerelementen in einer anderen Klassen abonnieren

Hallo,
ich habe folgendes vor: Ich habe 2 Fenster: Mainwindow und Window2. Das Window2 enthält einige Buttons. Und ich möchte, dass sowohl Mainwindow und Window2 die Click Events auswerten.

Wie abonniere ich vom Mainwindow aus die Events? Muss ich in Window2 ein eigene Events erstellen, das ich auslöse, wenn der Button geklickt wird, welches ich dann in Mainwindow abonniere?

Gibt es Beispiele dafür? Ich habe schon gesucht, aber nichts richtig Konkretes gefunden.

Grüße
Tobias

16.806 Beiträge seit 2008
vor 4 Jahren

[FAQ] Kommunikation von 2 Forms
Bei MVVM eben über Bindungen oder Commands - je nachdem.
Bei WPF arbeitet man ja nicht direkt mit Events.

E
EyeTrackJack Themenstarter:in
35 Beiträge seit 2019
vor 4 Jahren

Danke für die Info.
Wieso arbeitet man nicht mit Events bei WPF? Die Sache ist, dass ich in bestimmten Situationen darüber informieren muss, ob ein Button gedrückt ist, oder nicht. Ich wüsste sonst nicht, wie ich das machen soll.

190 Beiträge seit 2012
vor 4 Jahren

Dafür gibt es, wie Abt schon schrieb, Commands

  • Wer lesen kann, ist klar im Vorteil
  • Meistens sitzt der Fehler vorm Monitor
  • "Geht nicht" ist keine Fehlermeldung!
  • "Ich kann programmieren" != "Ich habe den Code bei Google gefunden"

GidF

E
EyeTrackJack Themenstarter:in
35 Beiträge seit 2019
vor 4 Jahren

Ich merke schon, dass mir noch viele Grundlagen fehlen. Man hat das Gefühl, sehr gut weitergekommen zu sein und sieht dann, was man noch alles nicht weiß 😉

Ich habe auch noch vor, mir entsprechende Bücher zu kaufen. Da muss ich auch noch gucken, was das Richtige ist.

1.029 Beiträge seit 2010
vor 4 Jahren

Hi,

da die Antwort auf deine letzte Frage etwas kurz ausfiel:

Generell arbeitet man bei WPF nach dem MVVM-Pattern - Ziel des Ganzen ist es eine gewisse Entkopplung von Ansicht und Ansichts-Logik zu erreichen. Events zu abonnieren bedeutet zwangsläufig C#-Code - Code der in WPF generell vermieden wird. (Das perfekte XAML-Fenster hat z.B. überhaupt keinen eigenen C#-Code - sondern ein ViewModel, welches über XAML verbunden wird)

Die meisten Controls lassen es unter WPF zu, dass man an Stelle von Events zu abonnieren - Commands aus dem ViewModel anbindet, womit eine harte Binding des ViewModels an die View unnötig ist.

LG