WPF, Silverlight, Windows Phone 8 und Windows Store Apps

Universal Apps: Getrennte UserControls
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: „Universal-Apps: Getrennte UserControls“. Viel Spaß mit XAML Expertise.

Ein großer Vorteil der Universal-Apps ist die Wiederverwendbarkeit des Sourcecodes. Die Eigenheiten der unterschiedlichen Windows-Geräte sorgen aber dennoch dafür, dass die Welten der Tablets und Phones getrennt behandelt werden müssen, beispielsweise was die Anzeige der Oberfläche betrifft. Eine erste Lösung hierfür wären eigene Pages, die im jeweiligen Projekt liegen. Wenn sich allerdings nur bestimmte Oberflächenteile unterscheiden sollen, gelten getrennte UserControls als elegantere Alternative.

Universal-App-Projekt mit getrennten UserControls

Um dies im Universal-App-Projekt umzusetzen, stellen Sie im Shared-Projekt eine Page für beide Welten bereit. Als Beispiel hierfür dient uns die MainPage.xaml. In den Projekten „Windows 8.1“ und „Windows Phone 8.1“ wird eine Verzeichnisstruktur mit ViewsUserControls erzeugt. Fügen Sie nun in beiden Welten ein neues UserControl namens MyUserControl hinzu und diesem wiederum ein TextBlock-Steuerelement mit dem Text „Windows Store App“ im „Windows 8.1“-Projekt (Abb. 1) und „Windows Phone App“ im „Windows Phone 8.1“-Projekt (Abb. 2). Anschließend wird die komplette Solution einmal gebuildet und daraufhin die MainPage.xaml im XAML-Designer geöffnet. In der Toolbox ganz oben befindet sich nun unser angelegtes MyUserControl. Platzieren Sie dieses mittels Drag and Drop auf der Oberfläche.

Die Universal-App-Solution wird nun automatisch für die richtige Plattform das spezifische UserControl verwenden. Ein Test ist schnell über den XAML-Designer möglich. Wechseln Sie dazu bei geöffneter MainPage.xaml in der ersten ComboBox auf das gewünschte Projekt oder führen Sie das Projekt manuell im Debug-Modus aus.

Abb. 1: UserControl für die Windows-Store-App

Abb. 2: UserControl für die Windows-Phone-App

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -