Xamarin.Forms-Datenbindung

Download Sample Das Beispiel herunterladen

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

In Beispielprogrammen wie dem DataBindingDemos-Beispiel werden zu Demonstrationszwecken und der Einfachheit halber oft zwei View-Derivate verwendet. 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.