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 eine Dienständerung auch eine Änderung Ihrer Daten bedeuten kann, wollten Sie von der Verwendung von CodeBehind zum Aktualisieren der Benutzeroberfläche auf die Datenbindung umsteigen. 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. Sie konnten auch den CodeBehind für die Umwandlung von Fahrenheit in Celsius reduzieren, indem Sie die Datenbindung mit einem Konverter verwenden.

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 Benutzer 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 der Typ einer Benutzeroberflächeneigenschaft und der Typ eines Datenobjekts nicht übereinstimmen, transformiert ein Konverter die gebundenen Daten so, dass sie von der Benutzeroberfläche korrekt dargestellt werden. 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