Falls Stevie was anbietet - nimm das.
Danke für die Vorschusslorbeeren, aber an dem Thema hab ich mich schon versucht und es als gescheitert betrachtet - zumindest was eine allgemeingültige Implementierung angeht. Das wird in Delphi einfach nicht rund.
Gerade, wenn es um die verschiedenen UI Controls geht (vor allem Drittanbieter), unterstützen die halt alle nicht einen irgendwie gearteten Mechanismus, um Änderungen an die Binding Engine zu übermitteln. Da muss man dann entweder ableiten oder Interposer Klassen bauen und darauf achten, nicht seine uses Reihenfolge zu verwurschteln.
Wir benutzen eine Mischung aus Binding (die aus DSharp) für simple UI (paar Edits, Checkboxes, etc), VirtualStringTree mit TreeviewPresenter (auch DSharp), DevExpress Grid entweder mit klassischem DataSource/DataSet oder per GridviewPresenter (auch DSharp private Fork Entwicklung) je nachdem, ob die Daten als Objektlisten oder Dataset vorliegen.
Mir fehlt die Zeit, mich erneut in diese Thematik einzuarbeiten, da ich mit Spring4D und einigen anderen Projekten beschäftigt bin, aber inzwischen tendiere ich fast dazu, den
DB Aware Component Ansatz zu präferieren (zumindest unter
VCL). Durch die Abstraktionsschicht, die ein Dataset bietet, müssen dahinter nicht unbedingt Daten aus einer
DB oder so liegen, siehe TObjectDataSet aus Spring4D oder eine nahezu ähnliche Komponente von DevArt (glaub TVirtualDataSet heißt sie). Leider hat man sich bei FMX für die doch arg verwurschtelte LiveBinding Technologie entschieden, wo man erst irgendwelche BindSourceAdapterSchießmichtot Komponenten benötigt, um ein Dataset an die diversen Controls zu binden.
Aber ich fühl mich sowieso im Backend, in der Runtime und bei der Entwickung von Developer Tools wohler als im UI Geraffel