Windows Phone 7 Controls im Überblick (Teil 4)
Kommentare

Panorama und Pivot Control
Die Verwendung des Panorama und Pivot Control ermöglicht die für Windows Phone 7 typische panoramaartige Anzeige von mehreren Seitenblöcken, die über eine „Flick“-Geste

Panorama und Pivot Control

Die Verwendung des Panorama und Pivot Control ermöglicht die für Windows Phone 7 typische panoramaartige Anzeige von mehreren Seitenblöcken, die über eine „Flick“-Geste zyklisch ausgewählt werden können. Eingesetzt werden diese beispielsweise in allen Windows Phone 7 Hubs. Wie in Abbildung 3 zu sehen ist, dient in der Regel der erste Block zur Steuerung der Inhalte der weiteren Seitenblöcke. Das Pivot Control fungiert dabei als visuelle Umsetzung eines Tab Controls, bei dem man durch Auswählen der Überschrift auf den entsprechenden Block umschalten kann.

Abb. 3: Beispiel eines Panorama Controls
Abb. 3: Beispiel eines Panorama Controls

Bei der Entscheidung, ob man nun das Panorama oder Pivot Control einsetzt, sollte man wissen, dass die Ladezeit des Pivot Controls in der Regel schneller ist. Das liegt u. a. daran, dass bei einem Panorama Control alle Blöcke beim Start geparst werden – beim Pivot Control geschieht dies hingegen inkrementell. Generell sollte man beachten, wie viele Seitenblöcke man auf diesen Controls platzieren möchte, da hier der Speicherbedarf sehr rasch ansteigt. Bei Einsatz eines Panorama Controls sollten stets mindestens drei Seitenblöcke verwendet werden, da sonst die User Experience gewaltig leidet. Wenn man ein Hintergrundbild in einem Panorama Control einsetzt, ist es empfehlenswert, dessen Build Action-Eigenschaft auf Resource anstatt Content (ansonsten die generelle Empfehlung für Bilder) einzustellen – die Ladezeit des Controls steigt sonst gewaltig.

Ein weiterer Tipp ist die Vermeidung der Integration eines Bing Maps Controls in einem der Seitenblöcke des Pivot oder Panorama Controls, da hier das Wechseln zwischen den Seitenblöcken sehr ruckelt. Des Weiteren sollte man stets im Hinterkopf  behalten, dass nach der Navigation zu einer neuen Seite das komplette Pivot oder Panorama Control mit allen Seitenblöcken und den damit gebundenen Daten im Hauptspeicher gehalten wird. Hier sollte man wegen der vorhandenen Hauptspeicherrestriktionen für die Marketplace-Zertifizierung (Memory Peak

Massendaten anzeigen

Das ListBox Control ist eines der wesentlichsten Windows Phone 7 Controls und dient zur Darstellung von Massendaten in einer WP7 App. Die Herausforderung bei der Nutzung der ListBox ist es, diese richtig zu füllen, sodass auch bei größeren Datenmengen eine akzeptable Benutzerinteraktion gegeben ist. Im Marketplace sind leider zahlreiche Negativbeispiele enthalten, sodass man sich die Prinzipien der ListBox und das WP7-Threading-Modell genau vergegenwärtigen sollte. Die Zauberworte lauten hier Background Thread und UI-/Datenvirtualisierung. Beherzigt man diese Prinzipien und das konsequente Auslagern von komplexen Operationen aus dem UI Thread, wird man selbst bei großen Listen eine App mit einer optimalen Usability produzieren.

Controls bereichern

Im Folgenden werden einige sinnvolle Erweiterungen für die vorhandenen Controls vorgestellt. Diese Empfehlungen stellen nur eine Auswahl dar und sollen zeigen, wie man auf einfache Art und Weise aus den vorhandenen Möglichkeiten noch mehr machen kann. Einige davon stammen von Microsoft-Mitarbeitern aus dem Umfeld der Windows-Phone-Entwicklung, die zurzeit noch als inoffizielle Erweiterungen in diversen Blogs zu finden sind.

Eine wesentliche Verbesserung zur Verwendung des ProgressBar Controls bietet die PerformanceProgressBar. Das Manko beim standardmäßigen Einsatz der ProgressBar besteht darin, dass hier ineffiziente Animationen eingesetzt werden, die zu einer unnötigen CPU-Auslastung und einer hakeligen Darstellung führen können. Möchte man einen Link im Internet aufrufen, eine E-Mail versenden oder SMS bzw. Telefonanrufe tätigen, so lässt sich das durch eine einfache Erweiterung des HyperLinkButton bewerkstelligen. Beispielsweise lässt sich so ein Button zum Wählen einer Telefonnummer umsetzen:

  

Durch das Fehlen eines DataGrid Controls bei Silverlight für Windows Phone 7 muss man zum ListBox Control greifen, um zum Beispiel ein Thumbnail Grid zu implementieren. Bei der Verwendung der ListBox kann man nun sehr schnell die UI-/Datenvirtualisierung aushebeln, was zu schlechten Ladezeiten und einer erheblichen Beeinträchtigung der User Experience führt. Der Trick, um das zu vermeiden, besteht in der Definition einer passenden Datenstruktur für die ListBox, die aus einzeiligen Einträgen besteht. In diesem Beitrag zu Grid mittels ListBox wird eine hierfür allgemein gebräuchliche Datenstruktur RowAdapter vorgestellt.

Spezialeffekte

Um ein klares Design zu bewahren, sollten besondere Effekte in WP7 Apps nur dürftig eingesetzt werden. Die beiden gebräuchlichsten Animationen sind dabei die Definition von Seitenübergängen mittels der Page Transitions aus dem Silverlight Toolkit und der „Tilt“-Effekt für eine zusätzliche visuelle Rückmeldung bei Berührung eines Controls. Bei Verwendung des Tilt-Effekts wird ein Control, z. B. ein Button oder Eintrag in einer ListBox, an der berührten Stelle vertieft dargestellt – ein Standardverhalten in den nativen WP7-Anwendungen.

Da der Tilt-Effekt noch nicht Bestandteil des Windows Phone 7 SDK ist, besteht die erste Alternative zur Implementierung im Einbinden der TiltEffect.cs. Danach steht ein Dependency Property IsTiltEnabled für die Controls zur Verfügung. Die bessere Variante besteht in der Nutzung der Lösung über Tilt-Effekt über Behaviour. Hier kann der Tilt-Effekt applikationsübergreifend oder seitenabhängig über ein Behaviour konfiguriert werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -