Kolumne XAML Expertise: WPF und Windows-Apps

XAML-Tipp: Oberfläche aus Daten generieren mit Visual Studio
Keine Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „XAML: Oberfläche aus Daten generieren mit Visual Studio“.

In einer Folge der XAML Expertise wurde bereits über die Visual-Studio-Erweiterung XAML Power Toys berichtet. Sie ermöglicht durch einen Wizard das Generieren von Oberflächen anhand von ViewModels oder Datenklassen. So kann mit nur wenigen Klicks einiges an Zeit gespart werden. Eine weitere Alternative bietet Visual Studio selbst, nämlich Data Sources. Das Feature existiert bereits seit Visual Studio 2010 und ist Bestandteil der .NET Data Tools. Damit lassen sich unterschiedliche Datenquellen hinterlegen und per Drag and Drop automatisch Oberflächen generieren. Unterstützt werden Entity-Framework-Model-Klassen, WCF oder REST Services, SharePoint Services und Objekte wie Entities oder ViewModels.

XAML: Oberfläche aus Daten generieren mit Visual Studio

Das folgende Beispiel zeigt, wie eine Oberfläche mit einem ViewModel generiert wird. Das ViewModel beherbergt drei Properties: Company, Name und eine Liste von Products. Mit der Tastenkombination SHIFT + ALT+ D wird das Data-Sources-Fenster geöffnet (Abb. 1). Links oben beim Plus-Button wird zum Erzeugen einer neuen Datenquelle ein Wizard gestartet (Abb. 2). Für ein ViewModel wird die Object-Option ausgewählt. Als Nächstes wird das Projekt angezeigt, in dem man sein ViewModel-Objekt auswählt.

Abb. 1: Das hinzugefügte ViewModel bei Data Sources

Abb. 2: Als Einstellung wird für das Beispiel „Details“ ausgewählt

Danach sieht man den neuen Datenquelleneintrag im Data-Sources-Fenster. Bei einem Klick auf das ViewModel öffnet sich ein Kontextmenü. Als Standard möchte Visual Studio dazu ein Data Grid generieren. In diesem Beispiel soll jedoch nur ein einfaches Formular generiert werden. Dazu eignet sich am besten die Auswahl von „Details“. Anschließend wird das ViewModel per Drag and Drop auf die XAML-Oberfläche gezogen. Fertig! Visual Studio hat automatisch die nötige Oberfläche dazu generiert (Abb. 3).

Abb. 3: Die generierte Oberfläche von Visual Studio

Wie bei jedem generierten Code, entsteht dadurch auch unschöner Code. So wird automatisch eine CollectionViewSource-Instanz innerhalb der XAML Resources erzeugt und zusätzlich ein Zugriff innerhalb der Code-behind-Datei. Beides kann direkt durch eine ViewModel-Instanz ersetzt werden. Die nötigen Bindings innerhalb des Grid-Elements sind in der Regel bereits richtig gesetzt, sodass nach dem Einbinden vom ViewModel alles wunschgemäß fertig ist.

Windows Developer

Windows DeveloperDieser Artikel ist im Windows Developer erschienen. Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien.

Natürlich können Sie den Windows Developer über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. Außerdem ist der Windows Developer weiterhin als Print-Magazin im Abonnement erhältlich.

 

BASTA! 2021

Keynote: Auf dem Weg zu „One .NET“ – das eine Framework, sie alle zu beherrschen

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/MAXIMAGO GmbH)

C#-Workshop – was kommt Neues in .NET 5?

mit Rainer Stropek (timecockpit.com)

IT Security Summit 2020

Zero Trust – why are we having this conversation?

mit Victoria Almazova (Microsoft)

Digitaler Ersthelfer

mit Martin Wundram (DigiTrace GmbH)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -