Laden...

Commands - woher bekomme ich die Daten aus der View

Erstellt von Taucher vor 3 Jahren Letzter Beitrag vor 3 Jahren 344 Views
T
Taucher Themenstarter:in
307 Beiträge seit 2008
vor 3 Jahren
Commands - woher bekomme ich die Daten aus der View

Hallo Leute, ich schon wieder...

Ich habe jetzt mit den Commands begonnen, und habe dazu gleich eine Frage. Und zwar habe ich in meinem ViewModel ein Command eingebaut, dass soweit auch funktioniert. Aber wie komme ich jetzt aber an die Daten aus der View ran? Denn die View ist dem ViewModel ja nicht bekannt, sondern andersrum...

Wo liegt mein Denkfehler???

L
11 Beiträge seit 2019
vor 3 Jahren

Hi,

ich gehe davon aus, dass du mit den Daten z.B. Benutzereingaben meinst. Diese kannst du doch einfach per Datenbindung zwischen View und ViewModel austauschen, sodass du sowohl lesend als auch schreibend auf die Daten zugreifen kannst, siehe [Artikel] MVVM und DataBinding. Dass das ViewModel die View nicht kennt, ist nischt schlimm, weil der Command ja in der gleichen Instanz des ViewModels aufgerufen wird, in der du auch alle Daten gebunden hast.
Oder meinst du irgendwelche speziellen Daten, die du nicht dadurch abdecken kannst?

Grüße
Lukas

190 Beiträge seit 2012
vor 3 Jahren

Hallo,
deine Daten werden nicht in der View gehalten, sondern in dem ViewModel. Das View zeigt nur die Daten an. Damit kannst du zu jeder Zeit auf deine Daten zugreifen. Auch eine Textbox ist durch das 2-Way-Binding an das ViewModel gebunden und die Daten stehen dort zur Verfügung.

  • 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

T
Taucher Themenstarter:in
307 Beiträge seit 2008
vor 3 Jahren

Hallo Wilfried, Hallo Lukasrad02,

jetzt weiß ich wo ich falsch gedacht bzw. nicht aufgepasst habe. Ich habe nicht alle Elemente in der View an das ViewModel gebunden, sondern noch wie in Forms gedacht.
Alles klar, jetzt weiß ich bescheid. Bin mit Wpf einfach noch neu und habe noch keine Routine darin.

Danke für die schnellen Antworten!