Xamarin.Forms-Datenbindung
Bei der Datenbindung werden die Eigenschaften von zwei Objekten verknüpft. Dadurch werden Änderungen an einer Eigenschaft automatisch in der anderen widergespiegelt. Die Datenbindung ist ein integraler Teil der „Model View ViewModel“-Anwendungsarchitektur (MVVM).
Das Problem: Verknüpfung von Daten
Eine Xamarin.Forms-Anwendung besteht aus mindestens einer Seite, die wiederum mehrere Benutzeroberflächenobjekte, so genannte Ansichten, enthält. Eine der Hauptaufgaben des Programms ist es, diese Ansichten zu synchronisieren und die unterschiedlichen Werte und Auswahlvorgänge nachzuverfolgen, für die diese stehen. Häufig stehen die Ansichten für Werte einer zugrunde liegenden Datenquelle, und der Benutzer passt die Ansichten an, um die Daten zu verändern. Wenn die Ansicht verändert wird, müssen die zugrunde liegenden Daten diese Änderung widerzuspiegeln. Ebenso muss die Ansicht Änderungen der Daten widerzuspiegeln.
Dazu muss das Programm über Änderungen der Ansichten und der zugrunde liegenden Daten informiert werden. Dies kann durch das definieren von Ereignissen erreicht werden, die angeben, wenn eine Änderung vorgenommen wurde. Dann kann ein Ereignishandler installiert werden, der über die Änderungen informiert wird. Er reagiert, indem er Daten von einem Objekt zu einem anderen überträgt. Wenn es jedoch viele Ansichten gibt, muss es dementsprechend auch viele Ereignishandler geben. Dazu ist viel Code erforderlich.
Die Lösung: Datenbindung
Die Datenbindung automatisiert diesen Prozess und macht Ereignishandler überflüssig. Datenbindungen können entweder in Code oder in XAML implementiert werden. Sie werden häufiger in XAML verwendet, wo sie die Größe der CodeBehind-Datei deutlich verringern. Durch das Ersetzen prozeduralen Codes in Ereignishandlern durch deklarativen Code oder Markup wird die Anwendung vereinfacht und eindeutiger.
Eines der beiden Objekte, das an einer Datenbindung beteiligt ist, ist immer ein von View
abgeleitetes Element und ist Teil der visuellen Oberfläche einer Seite. Das andere Objekt ist eines der folgenden:
- Ein weiteres
View
-Derivat, meist auf der gleichen Seite - Ein Objekt in einer Codedatei
Datenbindungen zwischen zwei View
Ableitungen werden häufig für Klarheit und Einfachheit dargestellt. Die gleichen Prinzipien können jedoch auch auf Datenbindungen zwischen einem View
-Objekt und einem anderen Objekt angewendet werden. Wenn eine Anwendung mit einer MVVM-Architektur (Model-View-ViewModel) erstellt wird, wird die Klasse mit den zugrunde liegenden Daten oft als ViewModel bezeichnet.
In den folgenden Artikeln wird ausführlicher auf Datenbindungen eingegangen:
Grundlegende Bindungen
Erfahren Sie, was ein Datenbindungsziel und eine Datenbindungsquelle von einander unterscheidet, und lernen Sie einfache Datenbindungen in Code und XAML kennen.
Bindungsmodus
Erfahren Sie, wie der Bindungsmodus des Datenfluss zwischen zwei Objekten bestimmen kann.
Zeichenfolgenformatierung
Verwenden Sie eine Datenbindung, um Objekte als Zeichenfolgen zu formatieren und anzuzeigen.
Bindungspfad
Beschäftigen Sie sich ausführlicher mit der Path
-Eigenschaft der Datenbindung, und erfahren Sie, wie Sie auf untergeordnete Eigenschaften und Collectionmembers zugreifen.
Binden von Wertkonvertern
Verwenden Sie Bindungswertkonverter, um Werte in der Datenbindung anzupassen.
Relative Bindungen
Verwenden Sie relative Bindungen, um die Bindungsquelle relativ zur Position des Bindungsziels festzulegen.
Bindungsfallbacks
Gestalten Sie Datenbindungen widerstandfähiger, indem Sie Fallbackwerte definieren, die verwendet werden, wenn die Bindung fehlschlägt.
Mehrfachbindungen
Fügen Sie eine Sammlung von Binding
-Objekten an eine einzelne Bindungszieleigenschaft an.
Die Befehlsschnittstelle
Implementieren Sie die Command
-Eigenschaft mit Datenbindungen.
Kompilierte Bindungen
Verwenden Sie kompilierte Datenbindungen, um die Leistung von Datenbindungen zu verbessern.