15. Was wir bisher gesehen haben:
Die View ist direkt an das Model gebunden.
Model View
16. Problem-Domäne UI-Domäne
Model ViewModel View
Das ViewModel ist eine Abstraktion der View. Es stellt
Informationen aus dem Model so bereit, wie es die View benötigt.
Gleichzeitig nimmt es Informationen aus der View entgegen und
bringt diese in das Model ein.
Was an Antworten kommen sollte (sonst ggf. nachhelfen):Das Model bildet die Daten und Operationen abstrakt aus Sicht der Problemdomäne abDie View ist eine mögliche Darstellung der Daten im ModelDer Controller vermittelt zwischen View und Model und übersetzt Befehle aus der View in Operationen auf dem ModelDas View registriert sich am Model und wird über Veränderungen informiert (Observer Pattern)MVC sorgt für eine lose Kopplung der einzelnen komponenten
https://github.com/HorizonNet/DEMO-Windows8-DataBinding-1 (Diese Demo bitte nicht nur zeigen sondern live bauen)
https://github.com/HorizonNet/DEMO-Windows8-DataBinding-2 (Diese Demo bitte nicht nur zeigen sondern live bauen)
Über Datenbindung lässt sich eine View direkt mit Daten aus dem Datenmodell befüllen
Das Funktioniert auch mit Listen
Die DataContext-Eigenschaft wird auch an Kindelemente vererbt.
Wie aber lassen sich Änderungen aus der UI an das Datenmodell zurückspielen? Es gibt natürlich Two-Way-Datenbindung, aber das Datenmodell hat dafür keinen „Empfänger“. Das Datenmodell entsprechend anzupassen würde eine Abhängigkeit zwischen View und Model erzeugen.
Wie aber lassen sich Änderungen aus der UI an das Datenmodell zurückspielen? Es gibt natürlich Two-Way-Datenbindung, aber das Datenmodell hat dafür keinen „Empfänger“. Das Datenmodell entsprechend anzupassen würde eine Abhängigkeit zwischen View und Model erzeugen.
Wie aber lassen sich Änderungen aus der UI an das Datenmodell zurückspielen? Es gibt natürlich Two-Way-Datenbindung, aber das Datenmodell hat dafür keinen „Empfänger“. Das Datenmodell entsprechend anzupassen würde eine Abhängigkeit zwischen View und Model erzeugen.
https://github.com/HorizonNet/DEMO-Windows8-DataBinding-3(die eben erklärten Konzept anhand von Demo 3 zeigen und erklären)Dann https://github.com/HorizonNet/DEMO-Windows8-DataBinding-4 gemeinsam mit den Teilnehmer live bauen