Kolumne XAML Expertise: WPF und Windows-Apps

XAML-Tipp: Oberfläche aus Daten generieren mit Visual Studio
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. In unserem Shop ist der Windows Developer ferner im Abonnement oder als Einzelheft erhältlich.

 

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -