Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#14

AW: Livebinding einer FMX TListView an TStrings

  Alt 21. Mai 2015, 13:38
Was kann man machen, wenn das Binding erfolgt bevor die Quelle erzeugt wurde?
Ich möchte nicht das die View die DatenObjecte des ViewModells besitzt.

Zur Zeit erstelle ich in der View das ViewModel und im ViewModel das Model.

Sollte ich das lieber von "außen" erstellen und verdrahten?


Ich habe es jetzt wie folgt gelöst.
Delphi-Quellcode:
constructor TView.Create(AOwner: TComponent);
begin
  fViewModel := TViewModel.create;
  inherited;
end;
Müsste sicher sein da das ViewModel ja eh nichts vom View weiß.

UND wenn das ok ist dann

HEUREKA. Das Livebinding klappt.

Natürlich bleibt ein Wehrmutstropfen:
An sich sollte ich ja im ViewModel keine Rücksicht nehmen müssen was für typen FMX binden kann und welche nicht. Schließlich möchte ich das ViewModel im zweifel an ein Audio basiertes View koppeln können usw. da sollte die art der View dem ViewModel doch eigentlich egal sein. So muss ich Rücksicht nehmen auf die Komponenten die auf der View liegen ob wohl sie im ViewModel offiziell gar nicht bekannt sind...
Kann auch sein das ich die Idee von MVVM falsch verstehe. Ich dachte hier ginge die Entkopplung wesentlich weiter als bei MVP...
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (21. Mai 2015 um 14:04 Uhr)
  Mit Zitat antworten Zitat