Zusammenfassung

Abgeschlossen

Die von Ihnen genutzte Wetter-App verwendet einen Wetterdienst, der kürzlich seine Einstellung angekündigt hat. Sie mussten damit beginnen, andere Wetterdienste zu untersuchen. Da Sie wissen, dass das Ändern von Diensten bedeutet, dass sich Ihre Daten ändern könnten, möchten Sie von der Verwendung des Code-Behinds zur Datenbindung wechseln, um die Benutzeroberfläche zu aktualisieren. Auf diese Weise müssen Sie sich bei der Entscheidung für einen neuen Wetterdienst keine Gedanken darüber machen, ob die Benutzeroberfläche betroffen ist.

Die Datenbindung, die Sie in den Übungen vorgenommen haben, verringerte den Code, der zum Aktualisieren der Benutzeroberfläche bei Datenänderungen erforderlich war. Anstatt den Ereignishandler der Schaltfläche für die Interaktion mit Steuerelementen auf der Benutzeroberfläche zu verwenden, um die Daten darzustellen, haben Sie auf die Datenbindung umgestellt. Das Datenobjekt des Wetterdiensts wurde als Bindungskontext für die Seite festgelegt, und Steuerelemente auf der Seite wurden an Eigenschaften dieses Datenobjekts gebunden. Die Benutzeroberfläche wurde automatisch mit den Daten synchronisiert, unabhängig davon, wie der Wetterdienst aktualisiert wurde.

Stellen Sie sich vor, dass CodeBehind ohne Datenbindung betroffen ist. Wenn Sie ein Steuerelement umbenannt, ein Steuerelement in einen anderen Typ geändert oder sogar ein Steuerelement gelöscht haben, wurde Ihr CodeBehind nicht mehr kompiliert. Wenn der Wetterdienst ein bestimmtes Datenfeld (etwa für Luftfeuchtigkeit) nicht mehr zur Verfügung stellt, stürzt der Code ab, wenn er versucht, es auf der Benutzeroberfläche darzustellen. Die App funktionierte plötzlich nicht mehr, und Benutzende wussten nicht, was gerade passiert.

Die Datenbindung synchronisiert die Daten automatisch mit der Benutzeroberfläche. Sobald sich die Wetterdaten ändern, ändern sich auch alle daran gebundenen Elemente. Wenn ein UI-Eigenschaftentyp und der Datentyp nicht übereinstimmen, transformiert ein Konverter die gebundenen Daten so, dass er von der Benutzeroberfläche korrekt dargestellt wird. Dadurch wird der für die Aufrechterhaltung der Benutzeroberfläche erforderliche CodeBehind reduziert. Für die meisten Benutzeroberflächen ist nicht relevant, woher die Daten stammen und wie die Daten ausgelöst wurden. Wenn die Luftfeuchtigkeit nicht mehr für das Datenobjekt bereitgestellt wurde, stürzte die datengebundene Benutzeroberfläche nicht ab, sondern zeigte keine Luftfeuchtigkeitsbezeichnung an. Das ist eine viel bessere Erfahrung für Ihre Benutzer als eine abstürzende App.

Weitere Informationen