windows store apps entwickeln mit c# und xaml – · pdf fileinhaltsverzeichnis 1...
TRANSCRIPT
Inhaltsverzeichnis
1 Einführung ........................................................................................................................................ 13 Was Sie benötigen, um mit diesem Buch zu arbeiten...................................................................... 14 Beispieldateien zu diesem Buch.......................................................................................................... 14 Korrekturen und Kommentare........................................................................................................... 14 Willkommen in der neuen Windows-Welt!...................................................................................... 15 Die Microsoft Design-Guidelines für Windows Store-Apps .......................................................... 19
Nutzen des Microsoft-Designstils............................................................................................... 19 Die Oberfläche sollte schnell und dynamisch sein ................................................................... 21 Unterstützung mehrerer Darstellungsformen .......................................................................... 22 Verwendung von Contracts......................................................................................................... 24 Interaktivität durch Live Tiles ..................................................................................................... 25 Daten werden mit der Cloud synchronisiert............................................................................. 25
Die Windows Runtime......................................................................................................................... 26 Projektion und Metadaten ........................................................................................................... 27 Projektion von .NET-Sprachen................................................................................................... 29 App-Isolation und Systemzugriff................................................................................................ 29 Das .NET-Profil für Windows Store-Apps................................................................................ 31
Apps mit Visual Studio entwickeln .................................................................................................... 31 Die Visual Studio-Projektvorlagen ............................................................................................. 31 Der Aufbau eines App-Projekts .................................................................................................. 33 Apps testen ..................................................................................................................................... 36
2 Anatomie einer Windows Store-App............................................................................................ 39 Die Rolle der Application-Klasse ....................................................................................................... 41 Zugriff auf das Fenster......................................................................................................................... 42
Die Klasse Window....................................................................................................................... 42 Die Klasse CoreWindow .............................................................................................................. 42
Navigation mit der Klasse Frame steuern ......................................................................................... 43 Übergabeparameter auf der Zielseite auswerten....................................................................... 44 Navigation abbrechen................................................................................................................... 45 Historie ermitteln und zuweisen................................................................................................. 45 Navigation auf Seitenebene.......................................................................................................... 46 Page Caching.................................................................................................................................. 48
Das Laufzeitverhalten einer App ........................................................................................................ 48 Auf den Suspension-Modus reagieren ....................................................................................... 50 Speichern des aktuellen Zustands ............................................................................................... 50 Wiederherstellen des gespeicherten Zustands .......................................................................... 51
6 Inhaltsverzeichnis
Capabilities ........................................................................................................................................... 53 Capabilities konfigurieren ........................................................................................................... 53 Capabilities in einer App verwenden......................................................................................... 55
App Contracts ...................................................................................................................................... 57 Die App als Quelle eines Contracts ............................................................................................ 58 Die App als Ziel eines Contracts................................................................................................. 61
3 XAML: Die Extensible Application Markup Language............................................................... 65 Das XAML-Objektmapping ............................................................................................................... 66 XAML-Namespaces............................................................................................................................. 67 Property Elements ............................................................................................................................... 68 Content Properties............................................................................................................................... 68 Attached Property-Syntax................................................................................................................... 69 XAML Markup Extensions................................................................................................................. 70 Das Programmiermodell von XAML-basierten Apps .................................................................... 70
Dependency Properties ................................................................................................................ 71 Routed Events................................................................................................................................ 71 Das Klassenmodell von XAML................................................................................................... 71
4 Ressourcen und Styles..................................................................................................................... 75 Zugriff auf physische Ressourcen...................................................................................................... 76
Umgang mit physischen Ressourcen ......................................................................................... 76 Ressourcen per XAML referenzieren......................................................................................... 77 Ressourcen per Code referenzieren............................................................................................ 78 Bilder in unterschiedlichen Formaten bereitstellen................................................................. 79 Bilder, die jede App enthalten sollte........................................................................................... 81
Logische Ressourcen............................................................................................................................ 82 Eine Ressource deklarieren.......................................................................................................... 83 Theme Dictionaries ...................................................................................................................... 84 Eigene Typen als Ressource hinterlegen.................................................................................... 87 Auf Ressourcen per Code zugreifen........................................................................................... 87
Wiederverwendbare Anpassungen mit Styles.................................................................................. 88 Einen Style definieren .................................................................................................................. 88 Einen impliziten Style anlegen.................................................................................................... 89 Einen Style vererben..................................................................................................................... 89
5 Das Layout der Oberfläche bestimmen ....................................................................................... 91 Automatisches Layout mit Layoutcontainern .................................................................................. 92
Elemente stapeln mit dem StackPanel ....................................................................................... 92 Tabellenlayout mit dem Grid-Container .................................................................................. 93 Automatisches Layout mit VariableSizedWrapGrid ............................................................... 97 Pixelbasiertes Layout mit Canvas ............................................................................................... 99
Inhaltsverzeichnis 7
Elemente skalieren mit der Viewbox.......................................................................................... 101 Automatisches Scrollen mit ScrollViewer ................................................................................. 102
Das Layout von Elementen steuern ................................................................................................... 105 Die Sichtbarkeit steuern ............................................................................................................... 106 Höhe und Breite festlegen ............................................................................................................ 107 Die Ausrichtung festlegen............................................................................................................ 109
6 Präsentation und Interaktion mit Controls ................................................................................. 111 Grundlegende Eigenschaften von Controls ...................................................................................... 112
Schaltflächen und Regler .............................................................................................................. 114 Textanzeigesteuerelemente .......................................................................................................... 116 Texteingaben.................................................................................................................................. 119 Listensteuerelemente .................................................................................................................... 123 Multimedia-Controls .................................................................................................................... 134 ProgressBar und ProgressRing .................................................................................................... 139 Application Bars ............................................................................................................................ 140
7 Control Templates und 2D-Grafik................................................................................................. 145 Ein Control Template erstellen ........................................................................................................... 146
Template mit Bindungen versehen............................................................................................. 147 Die Rolle der Klasse ContentPresenter ...................................................................................... 148 Das Standard-Template extrahieren........................................................................................... 149
Einfache 2D-Objekte zeichnen........................................................................................................... 150 Shapes.............................................................................................................................................. 150 Brushes............................................................................................................................................ 151
8 Elemente animieren und transformieren .................................................................................... 153 Mehr Interaktivität mit Animationen................................................................................................ 154
Benutzerdefinierte Animationen ................................................................................................ 154 Theme-Animationen .................................................................................................................... 159 Transition-Animationen.............................................................................................................. 160
Oberflächenelemente transformieren................................................................................................ 161 Elemente transformieren.............................................................................................................. 162 3D-Effekte mit Projektionen realisieren .................................................................................... 165
9 Daten an die Oberfläche binden .................................................................................................. 171 Objektbindungen.................................................................................................................................. 172
Eine Bindung in XAML herstellen.............................................................................................. 173 XAML-Elemente miteinander verbinden.................................................................................. 173 Bindungspfad definieren .............................................................................................................. 174 Eine Bindung per Code herstellen und ermitteln ..................................................................... 175 Objektdatenquelle zuweisen ........................................................................................................ 175 Eine Datenquelle in XAML definieren....................................................................................... 176
8 Inhaltsverzeichnis
Implizite Datenquellen................................................................................................................. 176 Synchronisation steuern .............................................................................................................. 178 Unterstützung für Synchronisation in der Datenquelle bereitstellen ................................... 178 Werte zwischen Quelle und Ziel konvertieren ......................................................................... 181 Enumerationswerte binden ......................................................................................................... 185
Listenbindungen .................................................................................................................................. 186 Listendarstellung mit Data Templates anpassen...................................................................... 188 Dynamische Template-Zuweisung............................................................................................. 189
Umgang mit ComboBox-Controls .................................................................................................... 192 Hierarchische Objekte binden .................................................................................................... 192 Flache Datenquellen binden........................................................................................................ 194 Synchronisation von Listenquellen ermöglichen..................................................................... 196
Listensteuerung mit ICollectionView und CollectionViewSource ............................................... 197 Das selektierte Element ermitteln............................................................................................... 197 In Listen navigieren ...................................................................................................................... 197 Auf Änderungen in der Listenselektion reagieren ................................................................... 198 Gruppierte Listen.......................................................................................................................... 199 Semantic Zoom unterstützen...................................................................................................... 201 Semantic Zoom steuern ............................................................................................................... 206
10 Techniken der App-Entwicklung.................................................................................................... 207 Umgang mit Zuständen ...................................................................................................................... 208
Aktuellen Zustand ermitteln ....................................................................................................... 210 Zustände steuern mit dem VisualStateManager ...................................................................... 211 Zustände per Code steuern.......................................................................................................... 212 Zustände mit Expression Blend definieren ............................................................................... 212 Visual Studio-Vorlagen verwenden ........................................................................................... 215
Oberflächen mit User- und Custom Controls kapseln ................................................................... 215 Dependency Properties ................................................................................................................ 216 Eine Dependency Property definieren....................................................................................... 216 Eine Attached Property erstellen ................................................................................................ 218 User Controls ................................................................................................................................ 218
Umgang mit Systemdialogen.............................................................................................................. 221 Nachrichten mit MessageDialog anzeigen ................................................................................ 222 Dateien öffnen mit dem FileOpenPicker................................................................................... 224 Verzeichnis auswählen mit dem FolderPicker ......................................................................... 226 Dateien speichern mit dem FileSavePicker ............................................................................... 227 Kontakte auswählen mit ContactPicker .................................................................................... 228
Arbeiten mit der Zwischenablage ...................................................................................................... 229 Inhalte in die Zwischenablage übertragen................................................................................. 230 Inhalte aus der Zwischenablage ermitteln................................................................................. 231 Bilder kopieren und einfügen ..................................................................................................... 231 Umgang mit Dateilisten............................................................................................................... 232
Inhaltsverzeichnis 9
Eigene Formate definieren........................................................................................................... 234 Verweise in der Zwischenablage hinterlegen ............................................................................ 234
Lokalisierte Apps erstellen................................................................................................................... 235 Lokalisierte Zeichenketten bereitstellen und binden ............................................................... 235 Auf lokalisierte Ressourcen zugreifen ........................................................................................ 237 Umgang mit sprachabhängigen Bildern .................................................................................... 237
Das MVVM-Pattern............................................................................................................................. 239 Technische Umsetzung ................................................................................................................ 241 Eine Basisklasse für Model und ViewModel erstellen.............................................................. 243 Interaktionslogik weiterleiten: die Klasse DelegateCommand .............................................. 244 Umgang mit Visual States ............................................................................................................ 246
Eine Windows Runtime-Komponente mit .NET erstellen ............................................................. 248 Konventionen für das Design...................................................................................................... 250 Regeln für den Zertifizierungsprozess........................................................................................ 251
11 Noch mehr Interaktivität mit Kacheln und Benachrichtigungen............................................ 253 Eine Kachel bereitstellen ..................................................................................................................... 254 Die Kachel mit Leben füllen ............................................................................................................... 255
Eine Vorlage auswählen ............................................................................................................... 257 Bilder definieren ............................................................................................................................ 261 Aktualisierungen steuern ............................................................................................................. 262 Einen Zeitplan für Aktualisierungen festlegen.......................................................................... 263
Kacheln über einen Server aktualisieren........................................................................................... 263 Einen Service für Benachrichtigungen bereitstellen................................................................. 264 Eine Liste von Benachrichtigungsquellen angeben .................................................................. 265
Push-Benachrichtigungen vom Server versenden........................................................................... 266 Zugriff vom Client......................................................................................................................... 267 Push-Benachrichtigungen vom Server versenden.................................................................... 268 Regeln für die Nutzung................................................................................................................. 270
Statusinformationen über Badges anzeigen...................................................................................... 270 Benachrichtigungen erstellen ...................................................................................................... 271 Badge auf Kachel platzieren......................................................................................................... 272
Secondary Tiles..................................................................................................................................... 272 Nachrichten auf dem Lock Screen anzeigen.............................................................................. 274 Secondary Tiles mit Inhalt füllen ................................................................................................ 276 Secondary Tile finden und entfernen ......................................................................................... 277
Benachrichtigungen mit Toasts .......................................................................................................... 277 Toasts erstellen .............................................................................................................................. 278 Anzeigedauer steuern ................................................................................................................... 280 Auf Ein- und Ausblenden sowie auf Fehler reagieren ............................................................. 281 Toast mit Sound ausstatten.......................................................................................................... 281 Startparameter festlegen............................................................................................................... 283 Zeitgesteuerte Toasts..................................................................................................................... 283
10 Inhaltsverzeichnis
12 Zugriff auf das Dateisystem ........................................................................................................... 285 Anwendungsverzeichnisse.................................................................................................................. 286
Das Installationsverzeichnis ........................................................................................................ 286 Das App-Datenverzeichnis.......................................................................................................... 286 Das Download-Verzeichnis......................................................................................................... 287 Zugriff auf zusätzliche Verzeichnisse......................................................................................... 287
Dateiauswahl durch den Anwender .................................................................................................. 289 Dateien öffnen...................................................................................................................................... 290 Dateien speichern ................................................................................................................................ 291 Umgang mit Anwendungseinstellungen........................................................................................... 292
Einstellungen laden und speichern ............................................................................................ 294 Einstellungen gruppieren............................................................................................................. 294 Einstellungen löschen................................................................................................................... 295 Umgang mit Roaming-Daten ..................................................................................................... 295 Zusammenhängende Einstellungen speichern......................................................................... 298 Auf Änderungen von Einstellungen reagieren ......................................................................... 298 Einstellungen versionieren .......................................................................................................... 299 Einstellungen visualisieren .......................................................................................................... 300
13 Kommunikation mit Services ......................................................................................................... 307 Erforderliche Capabilities prüfen ...................................................................................................... 308 Netzwerkinformationen analysieren ................................................................................................. 309 Daten über HTTP übertragen............................................................................................................ 310 Daten im Hintergrund transferieren................................................................................................. 312
Eine Datei im Hintergrund herunterladen................................................................................ 313 Den Fortschritt überwachen ....................................................................................................... 313 Download pausieren, fortsetzen und abbrechen...................................................................... 314 Downloads nach Neustart wiederaufnehmen .......................................................................... 316 Die Kommunikation konfigurieren ........................................................................................... 316
Kommunikation mit Webservices ..................................................................................................... 317 Zugriff auf REST-basierte Services............................................................................................. 317 Zugriff auf SOAP-basierte Services ............................................................................................ 322
Weitere Möglichkeiten ........................................................................................................................ 324
14 Apps verteilen und veröffentlichen............................................................................................... 325 Anatomie eines App-Pakets................................................................................................................ 326 Ein App-Paket erstellen....................................................................................................................... 327 Apps manuell auf anderen Geräten installieren .............................................................................. 330 Apps zertifizieren................................................................................................................................. 332
Nützlichkeit der App prüfen ....................................................................................................... 332 Umgang mit Werbung ................................................................................................................. 333 Verhaltensweise der App ............................................................................................................. 333 Kontrolle des Kunden gewährleisten ......................................................................................... 334 Inhalts- oder Altersbeschränkungen beachten......................................................................... 335
Inhaltsverzeichnis 11
App sinnvoll beschreiben............................................................................................................. 336 Tipps für den Zertifizierungsprozess.......................................................................................... 337 Apps lokal verifizieren.................................................................................................................. 338
Apps im Store veröffentlichen ............................................................................................................ 342 Ein Entwicklerkonto eröffnen ..................................................................................................... 342 Eine App im Dashboard anlegen ................................................................................................ 346 App-Namen mit lokalem Projekt verknüpfen .......................................................................... 354 App-Paket erstellen und hochladen............................................................................................ 358 App-Beschreibung und Screenshots hinterlegen...................................................................... 360 App zur Zertifizierung einreichen .............................................................................................. 364
In-App-Verkäufe................................................................................................................................... 365 In-App-Verkäufe implementieren.............................................................................................. 366 Lizenzinformationen abrufen...................................................................................................... 367 Lizenzen für einzelne Features prüfen........................................................................................ 369 Lizenzen erwerben ........................................................................................................................ 370 Belege anfordern und prüfen....................................................................................................... 371 Auf Lizenzänderungen reagieren ................................................................................................ 372
Trial- und zeitlich limitierte Versionen der App bereitstellen ........................................................ 373 Auf Trial-Version prüfen ............................................................................................................. 373 Trial-Version zur Entwicklungszeit testen ................................................................................ 374 Vollversion aus der App heraus erwerben................................................................................. 375
Mit Werbung Geld verdienen ............................................................................................................. 375
Stichwortverzeichnis................................................................................................................................. 377
39
Kapitel 2
Anatomie einer Windows Store-App
In diesem Kapitel: Die Rolle der Application-Klasse 41 Zugriff auf das Fenster 42 Navigation mit der Klasse Frame steuern 43 Das Laufzeitverhalten einer App 48 Capabilities 53 App Contracts 57
40 Kapitel 2: Anatomie einer Windows Store-App
Eine Windows 8 App wird durch die Klasse Application repräsentiert. Sie kümmert sich um die Kommuni-kation mit dem Betriebssystem und die Verwaltung des Lebenszyklus. Zudem ist sie mit einer einzelnen Window-Instanz verknüpft, die wiederum für die Darstellung der Oberfläche verantwortlich ist. Die eigentliche Oberfläche wird hingegen durch Page-Objekte repräsentiert. Die Darstellung mehrerer paralleler Fenster ist hierbei nicht möglich. Stattdessen findet eine Navigation zwischen den einzelnen Page-Instanzen statt. Diese werden von einem umschließenden Frame-Objekt verwaltet, welches sich auch um die Navigation zwischen den Seiten kümmert. Abbildung 2.1 illustriert die beschriebene Aufteilung.
Abbildung 2.1 Die Bestandteile einer Windows-App
Wie Sie sehen, existiert pro App jeweils nur eine Frame-Instanz, die mit einem Window-Objekt verbunden ist. Dieses übernimmt hierbei die Low-Level-Kommunikation mit dem Betriebssystem und kümmert sich um die Bereitstellung der gesamten Oberfläche. Schauen Sie sich zum besseren Verständnis einmal das folgende Codefragment aus der Datei App.cs an, die in jedem App-Projekt enthalten ist:
sealed partial class App : Application { … protected override async void OnLaunched(LaunchActivatedEventArgs args) { var rootFrame = new Frame(); … if (!rootFrame.Navigate(typeof(MainPage))) { throw new Exception("Failed to create initial page"); } Window.Current.Content = rootFrame; Window.Current.Activate(); } }
Die Rolle der Application-Klasse 41
Hier wurde zunächst ein neues Frame-Element erzeugt. Die Bereitstellung der Startseite erfolgt nun indirekt durch Navigation. Hierzu nimmt die Methode Navigate() den Typ der entsprechenden Seite entgegen. Das Frame-Objekt kümmert sich nun selbstständig darum, eine entsprechende Instanz zu erstellen und zur Anzeige zu bringen. Funktioniert dies nicht – beispielsweise, weil der angegebene Typ keinem Page-Element entspricht –, gibt sie den Wert false zurück. Daraufhin wird über Window.Current die aktuelle Fensterinstanz ermittelt und dieser über die Eigenschaft Content das zuvor erstellte Frame-Objekt zugewiesen. Für die Anzeige sorgt schließlich der Aufruf der Activate()-Methode.
Die Rolle der Application-Klasse Die Klasse Application ist der Dreh- und Angelpunkt einer App. Sie kommuniziert mit dem Betriebssystem und ist für die Verwaltung der App verantwortlich. Dies betrifft zum Beispiel die Verarbeitung von unbehan-delten Exceptions. Hierfür bietet die Klasse den Event UnhandledException, der immer dann aufgerufen wird, wenn eine Exception an irgendeiner Stelle der App aufgetreten, aber nicht durch einen try-catch-Block abge-fangen wurde. Jede App sollte diesen Event abonnieren und den Benutzer über den aufgetretenen Fehler informieren. Macht sie dies nicht, so beendet Windows einfach die App, ohne dem Benutzer dies zu melden. Das folgende Beispiel zeigt die notwendigen Anpassungen in der jeweiligen App-Klasse:
sealed partial class App : Application { public App() { this.UnhandledException += this.OnUnhandledException; this.InitializeComponent(); } private async void OnUnhandledException(object sender, UnhandledExceptionEventArgs e) { e.Handled = true; await new MessageDialog("Ein interner Fehler ist aufgetreten.\n\n" + e.Message).ShowAsync(); } }
In der Methode OnUnhandledException() wurde zunächst die Eigenschaft Handled auf true gesetzt. Hiermit signalisieren Sie, dass Sie den Fehler selbst verarbeiten und kein automatisches Herunterfahren der App erforderlich ist. Im Anschluss wird der aufgetretene Fehler mithilfe der Klasse MessageDialog ausgegeben. Hierfür können Sie auf die Message-Eigenschaft des übergebenen UnhandledExceptionEventArgs-Objekts zurückgreifen. Alternativ lässt sich auch die Exception-Eigenschaft auswerten. Diese gibt ein Exception-Objekt zurück, welches neben der Fehlermeldung auch eine interne Fehlernummer (HResult) sowie eine Kette verknüpfter Fehler (InnerException) enthält. Wenn Sie den Fehler so wie im oberen Beispiel ausgeben, sollten Sie darauf achten, die Eigenschaft Handled stets zuerst zu setzen. Denn durch den Aufruf von asynchronen Methoden (wie der ShowAsync()-Methode von MessageDialog) kann es passieren, dass die App bereits heruntergefahren wird, noch bevor Sie dies durch Setzen der Eigenschaft unterbinden können. Neben dem beschriebenen Fehlerbehandlungsmechanismus bietet die Klasse Application eine Reihe weite-rer Funktionen, auf die später noch im Detail eingegangen wird.
42 Kapitel 2: Anatomie einer Windows Store-App
Zugriff auf das Fenster Die Klasse Window repräsentiert den Ankerpunkt der Anwendung. Sie ist nicht nur für die Darstellung der Oberfläche, sondern auch für die Verarbeitung von Eingaben, etwa Tastatur, Maus oder Touch, verantwort-lich. Darüber hinaus kümmert sie sich um die verschiedenen Darstellungsformen wie Vollbild oder den Snapped-Modus. Hierbei ist die Funktionalität auf zwei Klassen aufgeteilt: Window und CoreWindow.
Die Klasse Window Die Window-Klasse hat eine recht einfache Schnittstelle, über die Sie beispielsweise auf Größenänderungen reagieren können. Die Klasse kann nicht instanziiert werden, sondern wird automatisch vom jeweiligen Application-Objekt erstellt. Wenn Sie auf Eigenschaften, Methoden oder Events von Window zugreifen wollen, müssen Sie zu-nächst die aktive Instanz ermitteln. Hierzu stellt die Klasse die statische Eigenschaft Current bereit. Um zum Beispiel die Ausmaße des aktiven Fensters zu ermitteln, müssen Sie daher wie folgt vorgehen:
Rect windowBounds = Window.Current.Bounds;
In der folgenden Tabelle finden Sie die wichtigsten Member der Klasse Window:
Member Beschreibung
Bounds Gibt eine Rect-Struktur zurück, welche die Ausmaße des Fensters enthält
Content Enthält den anzuzeigenden Inhalt. Zwar ist die Eigenschaft vom Typ UIElement, in der Praxis wird sie jedoch fast immer mit einer Frame-Instanz gefüllt.
CoreWindow Gibt die zugehörige CoreWindow-Instanz zurück
Dispatcher Bietet Zugriff auf die Dispatcher-Klasse, welche für das Management des UI-Threads verantwortlich ist
Visible Dient zur Steuerung der Sichtbarkeit des Fensters
Activate() Bringt das Fenster in den Vordergrund
Activated Wird ausgelöst, wenn die App in den Vordergrund kommt und den Eingabefokus erhält
SizeChanged Wird ausgelöst, wenn sich die Größe des Fensters ändert. Dies kann zum Beispiel beim Wechseln in den Snapped-Modus der Fall sein.
VisibilityChanged Wird ausgelöst, wenn sich die Sichtbarkeit des Fensters ändert
Tabelle 2.1 Die wichtigsten Member der Klasse Window
Die Klasse CoreWindow CoreWindow bietet hingegen Zugriff auf Low-Level-Funktionalität – zum Beispiel für das Abfangen von Tastaturereignissen oder das Abfragen von Systemtasten. So können Sie beispielsweise die Events KeyUp, KeyDown, PointerPressed und PointerReleased verwenden, um auf Tastenanschläge oder Mausklicks zu reagie-ren. Zudem lässt sich über die Methode GetKeyState() explizit abfragen, ob eine bestimmte Taste gedrückt wurde. Die Eigenschaften PointerPosition und PointerCursor liefern hingegen die aktuelle Position bezie-hungsweise das Erscheinungsbild des Mauszeigers.
Navigation mit der Klasse Frame steuern 43
Der folgende Code setzt zum Beispiel den Mauszeiger der App in den Status Wait:
Window.Current.CoreWindow.PointerCursor = new CoreCursor(CoreCursorType.Wait, 0);
Navigation mit der Klasse Frame steuern Die Klasse Frame übernimmt nicht nur die Bereitstellung von Seiten, sondern kümmert sich auch um die Navigation zwischen diesen. Hierfür stellt sie unter anderem die vorhin genannte Methode Navigate() zur Verfügung. Diese nimmt ein Objekt vom Typ TypeName entgegen, welches die entsprechende Seite beschreibt. Der folgende Code zeigt hierfür ein Beispiel:
rootFrame.Navigate(typeof(MainPage));
Optional können Sie auch eine Überladung von Navigate() verwenden, die zusätzlich einen Initialisierungs-parameter entgegennimmt:
rootFrame.Navigate(typeof(DetailPage), myData);
Die Navigate()-Methode gibt einen booleschen Wert zurück, der den Erfolg der Navigation signalisiert. Diesen sollten Sie in jedem Fall auswerten, da im Falle eines Fehlers nicht automatisch eine Exception ausgelöst wird. Wie Sie später sehen werden, kann es auch vorkommen, dass die Zielseite die Navigation abbricht. BEGLEITDATEIEN Die Begleitdateien zu den folgenden Beispielen finden Sie im Verzeichnis:
...\Kapitel 2\NavigationDemo
Da die Navigation jedoch von den Seiten selbst veranlasst wird, müssen diese die Aufgabe an die überge-ordnete Frame-Instanz delegieren. Hierfür enthält jedes Page-Objekt die Eigenschaft Frame. Der Wechsel von einer Seite zu einer anderen könnte somit wie folgt aussehen:
this.Frame.Navigate(typeof(DetailPage), myData);
Bei jedem Zugriff auf die Frame-Eigenschaft sollten Sie prüfen, ob diese bereits gefüllt wurde. Denn erst nach der vollständigen Beendigung des Navigationsvorgangs wird die Frame-Eigenschaft der Page mit einer jeweiligen Instanz belegt. Aus diesem Grund können beispielsweise Zugriffe auf die Frame-Eigenschaft im Konstruktor der Zielseite zu einem Fehler führen, da zum Zeitpunkt der Erstellung noch kein Frame zuge-ordnet wurde. Aus diesem Grund sollte der obere Code besser wie folgt umgeschrieben werden:
if (this.Frame != null) this.Frame.Navigate(typeof(DetailPage), myData);
Stichwortverzeichnis
.NET-Metadaten 27
.NET-Profil für Windows Store-Apps 322
.NET-Profil für WinRT 31 2D-Objekte 150 32-Bit-Version 328 3D-Effekte mit Projektionen realisieren 165 64-Bit-Version 328
A
Abbrechen von asynchronen Operationen 315 ABI siehe Abstract Binary Interface Ablaufdatum von Push-Benachrichtigungen 269 Abomodelle 366 Abstract Binary Interface 29 Absturzanalyse 329 AC-3-Format 135 AccessListEntry-Klasse 290
Metadata-Eigenschaft 290 Token-Eigenschaft 290
Activated-Event 50 Add-AppDevPackage.ps1-Datei 330 AddDeleteThemeTransition-Klasse 161 ADO.NET 31 ADTS-Format 135 Advertising SDK 375 Akkulaufzeit 16 Akkuverbrauch 297 Aktualisierung zwischengespeicherter Dateien 57 Aktualisierungsfrequenz für Benachrichtigungen 264 Altersbeschränkungen 335 Altersfreigabe 336, 351 Analyse des Laufzeitverhaltens 333 Android 17 Anhalten und Fortsetzen von Apps 334 Animationen 22, 129, 154
Benutzerdefinierte Animationen 154 erstellen 155 Theme-Animationen 154 Transition-Animationen 154
Animationseffekte 124
Animationsklassen By-Eigenschaft 155 From-Eigenschaft 155 To-Eigenschaft 155
Anmeldeinformationen 316 Anwendungsbenutzeroberfläche 35 Anwendungseinstellungen 292 Anwendungseinstellungen im Dateisystem ermitteln
293 Anzeigedauer von Benachrichtigungen steuern 262 Anzeigeformen 23 App als Quelle eines Contracts 58 App Bar 21, 333, 334 App Bars 140
Styles 142 App beschreiben 336 App Certification Kit siehe Windows App Certifica-
tion Kit App Contracts 57 App im Firmennetz verteilen 326 app.config 322 App.cs-Datei 40 App.xaml 34 App.xaml.cs 34 app.xaml-Datei 83 AppBar-Klasse 140
Closed-Event 143 IsOpen-Eigenschaft 143 Opened-Event 143
App-Beschreibung 337, 360 App-Block-Map 326 appcert-Tool 342 App-Datenverzeichnis 261, 286, 292 App-Design 16 App-Isolation 29 App-Kategorie 336 App-Klasse 62, 283 Apple 337 Application Bars 140 Application ID 277 Application Manifest siehe App-Manifest ApplicationDataCompositeValue-Klasse 298
378 Stichwortverzeichnis
ApplicationDataContainer-Klasse 294, 295, 297 CreateContainer()-Methode 294 DeleteContainer()-Methode 295 Values-Eigenschaft 294
ApplicationDataCreateDisposition-Enumeration 294 ApplicationData-Klasse 286, 294, 297, 298, 299
Current-Eigenschaft 286, 294 DataChanged-Event 298 LocalFolder-Eigenschaft 286 LocalSettings-Eigenschaft 294 RoamingFolder-Eigenschaft 286 RoamingSettings-Eigenschaft 294, 297 RoamingStorageQuota-Eigenschaft 297 SetVersionAsync()-Methode 299 TemporaryFolder-Eigenschaft 286 Version-Eigenschaft 299
ApplicationDataSetVersionHandler-Klasse 299 Application-Klasse 40, 50, 62, 83
OnLaunched()-Methode 51, 62 OnSearchActivated()-Methode 62 Suspending-Event 50 UnhandledException-Event 41
ApplicationView-Klasse 210 TryUnsnap()-Methode 211 Value-Eigenschaft 210
ApplicationViewState-Enumeration 210 App-Logo 261 App-Manifest 34, 53, 57, 61, 79, 235, 254, 274, 278, 287,
326, 337, 338, 347, 369 App-Name 336 App-Name mit lokalem Projekt verknüpfen 354 App-Namen reservieren 347 App-Paket erstellen 327 App-Paket hochladen 358 App-Pakete 334 App-Registrierung 336 Apps
Abomodelle 366 anhalten und fortsetzen 334 beschreiben 336, 337 Bewertungen 366 Darstellungsformen 22 Datenverzeichnis 286 deinstallieren 292 Design-Guidelines 19 Download-Verzeichnis 287 einreichen 332 Einstellungen laden und speichern 294 Einstellungen synchronisieren 295 Einstellungen visualisieren 300 Erforderliche Bilder 81
Fehlerbehandlung 41, 333 Herausgeber 344 im Store veröffentlichen 342 Kachel 332 Laufzeitverhalten 48, 333 Lebenszeit 24 Lebenszeitmodell 48 Lebenszyklus 40 Leistungskriterien 334 Lizenzmodelle 366 Logos 261 lokalisieren 235, 336 manuell auf anderen Geräten installieren 330 mit Werbung versehen 375 Name mit lokalem Projekt verknüpfen 354 Namen reservieren 347 Nutzung 366 per Sideloading verteilen 327 Projektaufbau 33 Promotional Images 82 Prozessortypen 333 registrieren 336 Schrifteigenschaften 83 Screenshots 82, 332, 361 signieren 331 Startparameter 272 Support 336 Symbole festlegen 34 testen 338 Testversionen 332 Trial-Version erstellen 373 übermitteln 347 Updates 333, 336, 361 Verhaltensweise 333 verifizieren 338 Verkaufsdetails 348 veröffentlichen 326 Veröffentlichungsdatum 349 verteilen 326 Vollversion aus der App heraus erwerben 375 zertifizieren 332, 335, 337 Zwischenversionen 332
App-spezifische Bilder 81 App-Symbol 34 App-Version 299 AppxBlockMap.xml 326 appx-Datei 326 appxupload-Datei 359 APPX-URI-Format 286 ARM-basierte Hardware 15, 328 ASF siehe Atom Syndication Format
Stichwortverzeichnis 379
ASF-Format 135 ASP.NET 31 ASP.NET MVC 264, 318 ASP.NET MVC Web-API 264 Assets 34 Atom Publishing Protocol 324 Atom Syndication Format 324 ATOM-Feeds 324 AtomPub siehe Atom Publishing Protocol Attached Properties 69, 92, 94, 218, 247 audio-Element 282 Audiostreams 335 Audiowiedergabe 135 Ausgabeparameter 252 Ausschneiden in die Zwischenablage 232 Auswahldialog 229 Auswahllisten 123 Authentifizierung 266, 324, 335 Authentifizierungsarten 322 Authorization 268 Automatisches Scrollen 102 AVI-Format 135 await-Schlüsselwort 225 Azure Mobile Services 324
B
BackEase-Klasse 159 BackgroundDownloader-Klasse 312, 316
CostPolicy-Eigenschaft 317 CreateDownload()-Methode 313 GetCurrentDownloadsAsync()-Methode 316 ProxyCredential-Eigenschaft 316 ServerCredential-Eigenschaft 316 SetRequestHeader()-Methode 316
BackgroundDownloadProgress-Klasse 314 BytesReceived-Eigenschaft 314 TotalBytesToReceive-Eigenschaft 314
BackgroundUploader-Klasse 312 Badge Logo 82 badge-Element 271 Badges 270 Badge-Symbole 271 BadgeUpdateManager-Klasse 272, 276
CreateBadgeUpdaterForApplication()-Methode 272 CreateBadgeUpdaterForSecondaryTile()-Methode
276 BadgeUpdater-Klasse 272
Clear()-Methode 272 StartPeriodicUpdate()-Methode 272 StopPeriodicUpdate()-Methode 272
Bandbreite 317 Basic-Authentifizierung 322 BasicHttpBinding-Klasse 322 Befehle auf der Oberfläche abbilden 140 Begrüßungsbildschirm 81 Belege anfordern und prüfen 371 Benachrichtigungen 25, 333, 335
bei gesperrtem Bildschirm 274 kennzeichnen 262 konfigurieren 257 mit Toasts 277
Benutzerdefinierte Animationen 154 Benutzereinstellungen 292 Benutzeroberfläche
Dynamik 21 Geschwindigkeit 21
Benutzersteuerelement 219 Berechtigungen 300 Betriebssystemdienste 26 Bewertungen 366 Bewertungszertifikate 351 Bildauflösungen 79 Bildauswahldialog 231 Bildbibliothek 55 Bilder 261 Bilder anzeigen 134 Bilder kopieren und einfügen 231 Bildformate, die von WinRT unterstützt werden 134 Bildformate für App-Logos 82 Bildgrößen 79 Bildordner 238 Bildschirmanzeige 22 Bildschirmauflösungen 334 Bildschirmformate 215 Binäre Kommunikation 310 BinaryMessageEncoding 322 BindableBase-Klasse 180, 243 Binding Markup Extension 127 binding-Element 278 BindingExpression-Klasse 172 Binding-Klasse 172
Converter-Eigenschaft 183 ConverterLanguage-Eigenschaft 184 ConverterParameter-Eigenschaft 183 ElementName-Eigenschaft 172 Mode-Eigenschaft 178 Path-Eigenschaft 172 Source-Eigenschaft 172
Binding-Markup Extension 173 BindingMode-Enumeration 178 BindingOperations-Klasse 175
380 Stichwortverzeichnis
Bindungen 241, 322 Bindungseinstellungen 323 Bindungselemente 322 BitmapImage-Klasse 78, 232, 291, 312
SetSource()-Methode 291 SetSourceAsync()-Methode 312
Blend für Visual Studio 14, 149, 212 BMP-Format 134 Border-Klasse
CornerRadius-Eigenschaft 148 BounceEase-Klasse 159 Breites Logo 82 Brushes 150, 151 Brush-Klasse 112, 151 Buffered-Übertragungsart 322 Buildvorgang 76 Bündelung von zusammenhängenden Einstellungen
298 Business-Apps 18 Business-Bereich im Store 343 Button-Klasse 114, 244
Command-Eigenschaft 114, 241 CommandParameter-Eigenschaft 244 Content-Eigenschaft 114 IsEnabled-Eigenschaft 244
Byte-basierte Konvertierung 311
C
C# 29 C++ 29, 248 CallbackBehavior-Klasse 322 Callback-Methode 217 CallerMemberName-Attribut 179 CancellationTokenSource-Klasse 314, 315
Cancel()-Methode 315 Dispose()-Methode 315
Canvas-Klasse 99, 304 Bottom-Eigenschaft 100 Left-Eigenschaft 100 Right-Eigenschaft 100 Top-Eigenschaft 100 ZIndex-Eigenschaft 100
Capabilities 35, 53, 287, 308, 334, 336, 343, 363 Capabilities in einer App verwenden 55 Capabilities konfigurieren 53 ChannelFactory-Klasse 322 Charms Bar 24, 57, 58, 300, 334, 337, 364 CheckBox-Control 22
CheckBox-Klasse 115 Checked-Event 115 IsChecked-Eigenschaft 115
CircleEase-Klasse 159 Client Secret 266 ClientCredentials-Klasse 323 Clientseitiger Zugriff auf SOAP-basierte Services 323 Clipboard-Klasse 229
GetContent()-Methode 231 SetContent()-Methode 230
ClockState-Enumeration 156 Cloud 25, 266, 295 clr-namespace-Schlüsselwort 68 Codecs 135 Collection Views 197 Collection-Klasse 132 CollectionViewSource.Klasse
IsSourceGrouped-Eigenschaft 200 CollectionViewSource-Klasse 197
Source-Eigenschaft 197 View-Eigenschaft 197
ColorAnimation-Klasse 155 ColumnDefinition –Klasse
Width-Eigenschaft 95 COM siehe Component Object Model ComboBox-Control 22 ComboBoxItem-Klasse 127 ComboBox-Klasse 123, 128, 192
DisplayMemberPath-Eigenschaft 192 DropDownClosed-Event 129 DropDownOpened-Event 129 IsDropDownOpen-Eigenschaft 129 IsEditable-Eigenschaft 129 IsSelectionBoxHighlighted-Eigenschaft 129 ItemsSource-Eigenschaft 192 ItemTemplate-Eigenschaft 192 MaxDropDownHeight-Eigenschaft 129 SelectedItem-Eigenschaft 192 SelectedValue-Eigenschaft 192 SelectedValuePath-Eigenschaft 192 SelectionBoxItem-Eigenschaft 129 TemplateSettings-Eigenschaft 129
Command-Bindung in XAML 244 Command-Eigenschaft 244 Command-Pattern 241 Common-Projektordner 34 Compileranweisungen 368 Component Object Model 26 CompositeSettingValue-Klasse 298 CompositeTransform-Klasse 164 ConnectionOrientedTransport 322
Stichwortverzeichnis 381
ConnectionProfile-Klasse 309 GetNetworkConnectivityLevel()-Methode 309 GetNetworkNames()-Methode 310
Consumer-Apps 18 ContactInformation-Klasse 229 ContactPicker-Klasse 222, 228
DesiredFields-Eigenschaft 229 Emails-Eigenschaft 229 PickMultipleContactsAsync()-Methode 229 PickSingleContactAsync()-Methode 229
Content 337 Content Properties 68 ContentControl-Klasse 69, 72, 141
Content-Eigenschaft 72 ContentTemplate-Eigenschaft 72
ContentPresenter-Klasse 148 ContentProperty-Attribut 69 ContentThemeTransition-Klasse 161 Contracts 24, 57 contrast-Schlüsselwort 79 Control Templates 146 Control-Klasse 72, 112, 146, 247
Background-Eigenschaft 72, 112 BorderBrush-Eigenschaft 112 BorderThickness-Eigenschaft 112 FontFamily-Eigenschaft 72, 114 FontSize-Eigenschaft 72, 114 FontStretch-Eigenschaft 114 FontStyle-Eigenschaft 114 FontWeight-Eigenschaft 114 Foreground-Eigenschaft 72, 112 IsEnabled-Eigenschaft 107 Template-Eigenschaft 146
Controls 112, 215 Hintergrund, Vordergrund und Rahmen anpassen
112 Schriftstil manipulieren 114
ControlTemplate-Klasse 146 Control-Templates extrahieren 149 CoreWindow-Klasse 42
GetKeyState()-Methode 42 KeyDown-Event 42 KeyUp-Event 42 PointerCursor-Eigenschaft 42 PointerPosition-Eigenschaft 42 PointerPressed-Event 42 PointerReleased-Event 42
Crashdumps 329 CubicEase-Klasse 159
CurrentApp-Klasse 367, 373 GetProductReceiptAsync()-Methode 371 LicenseChanged-Event 374 LicenseInformation 367 LicenseInformation-Eigenschaft 373 LoadListingInformationAsync()-Methode 370, 374 RequestAppPurchaseAsync-Methode() 375 RequestProductPurchaseAsync() 371
CurrentAppSimulator-Klasse 367 GetProductReceiptAsync()-Methode 371 LicenseChanged-Event 374 LicenseInformation-Eigenschaft 368, 373 LoadListingInformationAsync()-Methode 370, 374 ReloadSimulatorAsync()-Methode 369 RequestAppPurchaseAsync-Methode() 375 RequestProductPurchaseAsync() 371
CurrentChangingEventArgs-Klasse 199 Custom Controls 148, 215 CustomBinding-Klasse 322
D
Darstellungsformen 22 Dashboard 268, 345, 346, 354 Data Templates 127, 188 DataContext-Eigenschaft 194, 241 DataContractJsonSerializer-Klasse 319, 320, 322
ReadObject()-Methode 319 WriteObject()-Methode 320
DataContractSerializer-Klasse 322 DataPackage-Klasse 60, 131, 230, 234
GetView()-Methode 132 Properties-Eigenschaft 60 RequestedOperation-Eigenschaft 131 SetBitmap()-Methode 230, 231 SetData()-Methode 132, 234 SetDataProvider()-Methode 132, 234 SetHTMLFormat()-Methode 230 SetStorageItems()-Methode 232 SetUri()-Methode 235
DataPackageOperation-Enumeration 232 DataPackageView-Klasse 132, 231, 234
AvailableFormats-Eigenschaft 231 Contains()-Methode 132, 231 GetBitmapAsync()-Methode 232 GetDataAsync()-Methode 132, 234 GetHtmlFormatAsync()-Methode 231 GetRtfAsync()-Methode 231 GetStorageItemsAsync()-Methode 233 GetTextAsync()-Methode 231 RequestedOperation-Eigenschaft 132, 233
382 Stichwortverzeichnis
DataProviderDeferral-Klasse Complete()-Methode 235
DataProviderRequest-Klasse 235 GetDeferral()-Methode 235
DataReader-Klasse 291 DataRequestEventArgs-Klasse 59
Request-Eigenschaft 59 DataTemplate-Klasse 188 DataTemplateSelector –Klasse
SelectTemplateCore()-Methode 190 DataTemplateSelector-Klasse 190 DataTransferManager-Klasse 59
DataRequested-Event 59 GetForCurrentView()-Methode 59 ShowShareUI()-Methode 61
DataWriter-Klasse 292 WriteBoolean()-Methode 292 WriteDateTime()-Methode 292 WriteString()-Methode 292
Datei im Hintergrund herunterladen 313 Dateiauswahl 289 Dateiauswahldialog 221, 225, 287 Dateien
per Dialog öffnen 224 Dateien speichern 227, 291 Dateilisten 232 Dateiöffnungsauswahl 57 Dateispeicherungsauswahl 57 Dateisystemobjekt 290 Dateitypen 224 Dateitypendeklaration 287 Dateitypzuordnungen 58 Daten anlegen, ändern und löschen 320 Daten im Hintergrund transferieren 312 Daten über HTTP übertragen 310 Datenaustausch 229 Datenaustauschobjekt 230 Datenbankverbindungen 317 Datenbindung 241
Bindung per Code herstellen und ermitteln 175 Bindungspfad definieren 174 Dynamische Template-Zuweisung 189 Enumerationswerte binden 185 Implizite Datenquellen 176 Listenbindungen 186 Listendarstellung mit Data Templates anpassen 188 Listensteuerung mit ICollectionView und
CollectionViewSource 197 Objektdatenquelle zuweisen 175 Synchronisation steuern 178 Synchronisation von Listenquellen ermöglichen 196
Unterstützung für Synchronisation in der Datenquelle bereitstellen 178
Werte zwischen Quelle und Ziel konvertieren 181 XAML-Elemente miteinander verbinden 173
Datencontainer 240 Datenformate 229 Datengebundene Listen 126 Datenklassen 240 Datenquellen 241 Datenschutzrichtlinie 334, 364 Datenstrom 291 Datentransferobjekte 131 Datenverbindung 298 DateTimeOffset-Struktur 262, 280, 283 Debug Location 51 Debug-Code 338 Debugger 51 DebugSettings-Klasse 175
BindingFailed-Event 175 Debugspeicherort 51 Debug-Symbole 329 DEBUG-Symbole 368 DefaultOverload-Attribut 251 Default-Schlüsselwort 85 Deferral-Klasse
Complete()-Methode 50 Deferral-Klasse 50 Deinstallation von Apps 326 Deinstallieren von Apps 292 Deklarationen 35, 61 DelegateCommand-Klasse 244 DELETE-Operation 310, 318 Dependency Properties 71, 148, 173, 178, 216
definieren 216 DependencyObject-Klasse 72, 216
ClearValue()-Methode 72, 216 GetValue()-Methode 72, 216 SetValue()-Methode 72, 216
DependencyProperty-Klasse 71, 216, 218 Register()-Methode 217 RegisterAttached()-Methode 218
Design-Guidelines 19, 144 Designrichtlinien 332 Designsprache 15, 337 Desktop-Apps 338 Desktopcomputer 333 Device 298 Dienstverweis hinzufügen 322 Digest-Authentifizierung 322 Digital Rights Management 135, 353 Digitale Signatur 371
Stichwortverzeichnis 383
Digitalen Kaufbeleg anfordern 375 DirectX 350 DiscreteDoubleKeyFrame-Klasse 157 Diskrete Keyframes 157 Dispatcher-Klasse 309
RunAsync()-Methode 309 DisplayProperties-Klasse 81
ResolutionScale-Eigenschaft 81 Dokumentenbibliothek 54, 343 Domain-Tasten 120 DoubleAnimation-Klasse 155, 211 DoubleAnimationUsingKeyFrames-Klasse 157 DownloadOperation-Klasse 313, 314
Group-Eigenschaft 317 Pause()-Methode 314 Progress-Eigenschaft 314 ResultFile-Eigenschaft 315 Resume()-Methode 314 StartAsync()-Methode 313
Downloads 335 nach Neustart wiederaufnehmen 316 pausieren, fortsetzen, abbrechen 314
DownloadsFolder-Klasse 287 CreateFileAsync()-Methode 287 CreateFolderAsync()-Methode 287
Download-Verzeichnis 287 DPI 79 DPI-Zahl 22 Drag & Drop 21, 124, 129 Drag & Drop implementieren 130 DragItemsStartingEventArgs-Klasse 131
Data-Eigenschaft 131 Drahtlosnetzwerk 54 DRM siehe Digital Rights Management DuplexChannelFactory-Klasse 322 duration-Attribut 281, 282
E
EasingFunctionBase-Klasse 158 Easing-Funktionen 158 Easing-Klassen 158 EasingMode-Eigenschaft 158 ECMA 335-Standard 27 E-Commerce 335 Einfügeoperation 234 Eingaben 42 Eingebettete Ressourcen 77 Einreichen von Apps 332 Einschränkungen für App-Inhalte 336
Einstellungen 364 Einstellungen für Druckaufgaben 58 Einstellungen gruppieren 294 Einstellungen laden und speichern 294 Einstellungen löschen 295 Einstellungen versionieren 299 Einstellungen visualisieren 300 Einstiegspunkt der App 34 Einverständniserklärung 334 ElasticEase-Klasse 159 Elemente kippen 163 Elemente rotieren 162 Elemente skalieren 101, 163 Elemente transformieren 161 Elemente verschieben 163 Ellipse-Klasse 150
Height-Eigenschaft 150 Width-Eigenschaft 150
E-Mail 229 E-Mail-Adressen eingeben 120 EnableDependentAnimation-Eigenschaft 155 Encodieren von Zeichenketten 311 Endanwender-Apps 18 Enterprise Sideloading 330 EntranceThemeTransition-Klasse 161 Entwicklerkonto 342, 355 Entwicklerkontotypen 343 Entwicklerlizenz 33, 308, 332 Erweiterte Capabilities 343 Erweiterte Features 366 Erweiterte Features einer App 350 ESRB 335 EventHandler<T>-Klasse 250 ExponentialEase-Klasse 159 Expression Blend 212 Extensible Application Markup Language 66
F
Factory-Methoden 252 FadeOutThemeAnimation-Klasse 160 Farbeditor 113 Farben 20 Farbschemaleiste 113 Farbschemata 84 Farbverlauf erstellen 152 Farbverlauf erzeugen 112 Farbverlauf in Visual Studio definieren 113 Farbverlaufsleiste 113 Favoritenlisten 295
384 Stichwortverzeichnis
Fehlerbehandlung 41, 333 FileAccessMode-Enumeration 290 FileIO-Klasse 291
ReadBufferAsync()-Methode 291 ReadLinesAsync()-Methode 291 ReadTextAsync()-Methode 291 WriteTextAsync()-Methode 292
FileOpenPicker-Klasse 221, 224, 290 CommitButtonText-Eigenschaft 225 PickMultipleFilesAsync()-Methode 225 PickSingleFileAsync()-Methode 225 SettingsIdentifier-Eigenschaft 225 SuggestedStartLocation-Eigenschaft 224 ViewMode-Eigenschaft 224
FileSavePicker-Klasse 221, 227 DefaultFileExtension-Eigenschaft 227 FileTypeChoices-Eigenschaft 227 PickSaveFileAsync()-Methode 227 SuggestedFileName-Eigenschaft 227 SuggestedStartLocation-Eigenschaft 227
FileTypeFilter-Eigenschaft 224 Filled-Modus 23, 334, 337 Finger-, Tastatur- und Mauseingabe 333 Fingereingabemodus 122 FlagsAttribute-Klasse 252 FlipBox-Klasse 123 FlipView-Control 22 FlipView-Klasse 129 FolderPicker-Klasse 221, 226
CommitButtonText-Eigenschaft 226 FontStyle-Enumeration 114 Formatierten Text darstellen 116 Fortschritt anzeigen mit ProgressBar und
ProgressRing 139 Fortschritt eines Downloads überwachen 313 Frame-Klasse 40, 43, 46
CacheSize-Eigenschaft 46 CanGoBack-Eigenschaft 44 CanGoForward-Eigenschaft 44 GetNavigationState()-Methode 45 GoBack()-Methode 44 GoForward()-Methode 44 Navigate()-Methode 41, 43 Navigated-Event 44 Navigating-Event 45 NavigationFailed-Event 45 NavigationStopped-Event 45 SetNavigationState()-Methode 45
FrameworkElement-Klasse 72, 83, 105, 175 DataContext-Eigenschaft 177, 187, 221, 242 FlowDirection-Eigenschaft 237
HorizontalAlignment-Eigenschaft 109 Margin-Eigenschaft 108 MaxHeight-Eigenschaft 108 MaxWidth-Eigenschaft 108 MinHeight-Eigenschaft 108 MinWidth-Eigenschaft 108 Padding-Eigenschaft 108 Resources-Eigenschaft 83 SetBinding()-Methode 72, 175 VerticalAlignment-Eigenschaft 109
Freigabequelle 24 Freigegebene Benutzerzertifikate 55, 308 Full-Modus 23, 334, 337 FullScreenLandscape-Modus 210 FullScreenPortrait-Modus 210 Funktionen (Capabilities) 53 Funktionen (Registerkarte) siehe Capabilities Future Access List 289
G
Geld verdienen 365, 375 Generische Delegaten 245 Geografische Märkte 336 Geolocator-Klasse 55
GetGeopositionAsync()-Methode 56 Gerät automatisch wiedergeben 58 Gerätetypen 363 Geräteübergreifende Daten 295 Gerät-Fenster 80 Geschäftsmodelle 18 Gesten 333 Geteilte App 46, 52, 215, 243 Geteilte App (XAML) 32 GET-Operation 310, 318 GIF-Format 134 Google 337 GPS 54 GradientStop-Klasse 151 Gratis-Apps 366 Grid-Klasse 93
ColumnDefinitions-Eigenschaft 94 Column-Eigenschaft 94 ColumnSpan-Eigenschaft 94 RowDefinitions-Eigenschaft 94 Row-Eigenschaft 94 RowSpan-Eigenschaft 94
GridView-Control 22 GridViewItem-Klasse 127
Stichwortverzeichnis 385
GridView-Klasse 124, 129, 204 AllowDrop-Eigenschaft 130 CanDragItems-Eigenschaft 130 CanReorderItems-Eigenschaft 130 DragItemsStarting-Event 131 IsItemClickEnabled-Eigenschaft 133 IsSwipeEnabled-Eigenschaft 133 ItemClick-Event 133 SelectionMode-Eigenschaft 133 Selektion steuern 133
Größen von Elementen beeinflussen 105 GroupStyle-Klasse 200, 204
HeaderTemplate-Eigenschaft 200, 204 GUID 290 Gültigkeitszeitraum 366
H
Heimnetzgruppe 55 Herausgeber 344 Herunterfahren der App 316 Herunterladen großer Dateien 316 HighContrast-Schlüsselwort 85 HighPriority-Einstellungen 297 Hintergrundaufgaben 58, 275 Hintergrundprozesse 298, 312 Hinweise für Tester 364 Hotmail 324 HResult 41 HTML 66, 311 HtmlFormatHelper-Klasse 230 HTML-formatierten Text 230 HTML-Sonderzeichen konvertieren 311 HTTP 268, 317 HttpClient-Klasse 310, 318, 320
DeleteAsync()-Methode 310, 320 GetAsync()-Methode 310, 318 PostAsync()-Methode 310, 320 PutAsync()-Methode 310, 320
HttpContent-Klasse 311, 318 ReadAsByteArrayAsync()-Methode 311 ReadAsStreamAsync()-Methode 311, 319 ReadAsStringAsync()-Methode 311, 319
HTTP-Header 265, 310, 316 HTTP-Kommunikation 310 HTTP-Operationen 318 HttpResponseMessage-Klasse 311, 318, 321
Content-Eigenschaft 318 HTTP-Statuscode 311 HttpStatusCode-Enumeration 311
HTTP-Statuscodes 318 HttpsTransport 322 HttpTransport 322 HyperlinkButton-Klasse 115
NavigateUri-Eigenschaft 115
I
IBindableIterable-Interface 250 IBindableVector-Interface 250 IBuffer-Interface 291 ICO-Format 134 ICollectionView-Interface 197
CurrentChanged-Event 198 CurrentChanging-Event 198 CurrentItem-Eigenschaft 197 CurrentPosition-Eigenschaft 197 IsCurrentAfterLast-Eigenschaft 198 IsCurrentBeforeFirst-Eigenschaft 198 MoveCurrentTo()-Methode 197 MoveCurrentToFirst()-Methode 198 MoveCurrentToLast()-Methode 198 MoveCurrentToNext()-Methode 198 MoveCurrentToPosition()-Methode 197 MoveCurrentToPrevious()-Methode 198
ICommand-Implementierung 245 ICommand-Interface 244
CanExecute()-Methode 244 CanExecuteChanged-Event 244 Execute()-Methode 244
id-Attribut 256 IDictionary<TKey, TValue>-Interface 250 IEnumerable<T>-Interface 250 IEnumerable-Interface 186, 250 IEnumerator<T>-Interface 250 IIterable<T>-Interface 250 IIterator<T>-Interface 250 ILDASM-Tool 27 IList<T>-Interface 250 IList-Interface 250 ImageBrush-Klasse 151
ImageSource-Eigenschaft 151 Image-Klasse 81, 134, 232, 291
Source-Eigenschaft 291 Stretch-Eigenschaft 134
IMap<K, V>-Interface 250 IMapView<K, V>-Interface 250 IMultiValueConverter-Interface 183 In-App-Verkäufe 335, 365, 366 Infoanzeigerlogo 274
386 Stichwortverzeichnis
Inhalt automatisch wiedergeben 58 Inhaltsauswahl 58 Inhaltsbeschränkungen 335 Inhaltsrichtlinien 333 INotifyPropertyChanged-Interface 178, 243 Installationsverzeichnis 287 Intel 15 Interaktionslogik 244 Internet 308, 316 Internet (Client und Server) 54 Internet (Client) 54 Internetverbindung 310 Interoperabilität 28 IObservableVector<T>-Interface 196 iOS 17 IOutputStream-Interface 292 IP-Adresse 54 IRandomAccessStream-Interface 78, 132, 291, 292, 312
GetInputStream()-Methode 292 GetOutputStream()-Methode 292
IRandomAccessStreamWithContentType-Interface 232 IReadOnlyDictionary<TKey, TValue>-Interface 250 IReadOnlyList<T>-Interface 250 IReferenceArray<T>-Interface 252 ISO-Kürzel für Sprachen 235, 237 IStorageFile-Interface 315 IStorageItem-Interface 132, 233
IsOfType()-Methode 233 ItemCollection-Klasse 125
Add()-Methode 125 InsertAt()-Methode 125 Remove()-Methode 125 RemoveAt()-Methode 125
ItemsControl-Klasse 73, 124, 200 DisplayMemberPath-Eigenschaft 126, 187 GroupStyle-Eigenschaft 200 ItemContainerStyle-Eigenschaft 127, 128 Items-Eigenschaft 73 ItemsPanel-Eigenschaft 128 ItemsSource-Eigenschaft 73, 126, 187 ItemTemplate-Eigenschaft 128, 188 ItemTemplateSelector-Eigenschaft 190 ScrollIntoView()-Methode 126 SelectAll()-Methode 126 SelectedIndex-Eigenschaft 125 SelectedItem-Eigenschaft 125 SelectionMode-Eigenschaft 125
ItemsPanelTemplate-Klasse 128 IUICommand-Interface 301 IUri-Interface 132
IValueConverter-Interface 182 Convert()-Methode 182 ConvertBack()-Methode 182
IVector<T>-Interface 250 IVectorView<T>-Interface 250
J
JavaScript 28, 138, 248 JavaScript Object Notation 317 JPEG XR-Format 134 JPEG-Format 134 JSON 268 JSON-Format 317 JSON-formatierte Ergebnismengen 319 JsonObject-Klasse 320
GetNamedNumber()-Methode 320 GetNamedString()-Methode 320 Parse()-Methode 320
JSON-Strings auslesen 320 Jugendgefährdende Inhalte 335
K
Kachel 17, 25, 332 Kachelgrößen 254 Kacheln 254
über Server aktualisieren 263 Kameraeinstellungen 58 Kategorie einer App 349 Kaufvorgang 371 Kerberos 353 Keyframe-Klassen 157 KeyFrame-Klassen
KeyTime-Eigenschaft 158 Value-Eigenschaft 158
Kleines Logo 82 KnownContactField-Enumeration 229 KnownFolders-Klasse 288
DocumentsLibrary-Eigenschaft 288 HomeGroup-Eigenschaft 288 MediaServerDevices-Eigenschaft 288 MusicLibrary-Eigenschaft 288 PicturesLibrary-Eigenschaft 288 RemovableDevices-Eigenschaft 288 VideosLibrary-Eigenschaft 288
Konfiguration von Services 322 Konfigurationsdatei 322 Konfigurationsdaten 292
Stichwortverzeichnis 387
Konfigurationseinstellungen 24 Kontakte auswählen 228 Kontaktfelder 229 Kontextsensitive Befehle 144 Kontobildanbieter 58 Kontrasteinstellung in der App berücksichtigen 84 Kontrastmodus 79 Konvertierung von URLs 311 Kopieren in die Zwischenablage 232 Kopieroperation 233 Kopierschutz 353 Kreditkartendaten 335 Kryptografie 352
L
Lambda-Expression 223 Längen- und Breitengrad ermitteln 55 Laufrichtung von Text 237 Laufzeitinformationen 292 Laufzeitverhalten einer App 48 LaunchActivatedEventArgs-Klasse 51
PreviousExecutionState-Eigenschaft 51 launch-Attribut 283 Layout 22, 92 Layout Rounding 81 Layout von Elementen steuern 105 LayoutAwarePage-Klasse
LoadState()-Methode 53 SaveState()-Methode 53
LayoutAwarePage-Klasse 46, 215 Layoutcontainer 73, 92, 107, 162, 215 Layoutprozess 106 Layoutregeln 92 Layoutrichtung 81 Lebenszeit einer App 24 Lebenszeitmodell von Apps 48 Lebenszyklus einer App 40 Leere App (XAML)(Visual Studio-Vorlage) 32 LicenseInformation-Klasse 367
ExpirationDate-Eigenschaft 373 IsActive-Eigenschaft 373 IsTrial-Eigenschaft 373 LicenseChanged-Event 372
Light-Schlüsselwort 85 LinearDoubleKeyFrame-Klasse 157 Lineare Keyframes 157 LinearGradientBrush-Klasse 112, 151, 152
Offset-Eigenschaft 152
Line-Klasse 150 X1-Eigenschaft 150 Y1-Eigenschaft 150 Y2-Eigenschaft 150
ListBox-Control 22 ListBoxItem-Klasse 125, 127, 188 ListBox-Klasse 123, 128, 187
SelectedItems-Eigenschaft 128 SelectionMode-Eigenschaft 128
Listenelemente 69 Listenoperationen 124 Listensteuerelemente 123
Basisfunktionen 124 Binden von ComboBox-Controls 192 Darstellung von Listenelementen anpassen 126 Daten und Darstellung von Elementen trennen 127 Datengebundene Listen 126 Drag & Drop implementieren 130 Layout verändern 128 Listenbindungen 186 Listendarstellung mit Data Templates anpassen 188 Listensteuerung mit ICollectionView und
CollectionViewSource 197 Selektion auswerten 125 Semantic Zoom implementieren 201 Umgang mit Listenelementen 125 Vererbungshierarchie 124
ListingInformation-Klasse FormattedPrice-Eigenschaft 374
ListViewBase-Klasse 124, 130 ListView-Control 21 ListViewItem-Klasse 127, 190 ListView-Klasse 124, 129, 204
AllowDrop-Eigenschaft 130 CanDragItems-Eigenschaft 130 CanReorderItems-Eigenschaft 130 DragItemsStarting-Event 131 IsItemClickEnabled-Eigenschaft 133 IsSwipeEnabled-Eigenschaft 133 ItemClick-Event 133 SelectionMode-Eigenschaft 133 Selektion steuern 133
Live Messenger 324 Live Services 324 Live Tiles 25, 254 Live-ID 295, 328, 342, 355 siehe Microsoft-Konto Lizenzen erwerben 370 Lizenzierung 374 Lizenzmodelle 366 Lizenzstatus 373 local-Schlüsselwort 287
388 Stichwortverzeichnis
Location 54, 56 Lock Screen 274 Logo 254 Logo der App 81 Lokalisierte Apps erstellen 235 Lokalisierung 107, 336 Lokalisierungsprobleme 239 Lookup-Mechanismus 241 loop-Attribut 282 Low-Level-Kommunikation 324
M
MakeAppx.exe 330 Manifestdatei 235 Manuelle Installation 330 Markup 66 Markup Extensions 70 Master- und Detailseite 20 Matrix 20 Matrix3DProjection-Klasse 165 MatrixTransform-Klasse 164 Maus 21 Mausverarbeitung 42 Mauszeiger 43 MaxTransferSizeInMegabytes-Eigenschaft 335 MediaElement-Klasse 135
AutoPlay-Eigenschaft 136 BufferingProgressChanged-Event 136 BufferingProgress-Event 136 CanSeek-Eigenschaft 136 DownloadProgressChanged-Event 136 DownloadProgress-Event 136 DownloadProgressOffset-Event 136 IsMuted-Eigenschaft 137 MediaOpened-Event 136 Mute()-Methode 137 Pause()-Methode 136 Play()-Methode 136 Position-Eigenschaft 136 PosterSource-Eigenschaft 136 SeekCompleted-Event 136 Source-Eigenschaft 135 Stop()-Methode 136 VolumeChanged-Event 137 Volume-Eigenschaft 137
Medientyp 265 Medientypen 320 Mehrfachauswahl 133 MemoryStream-Klasse 312, 320
Merged Dictionaries 84 MessageDialog-Klasse 221, 222, 223
CancelCommandIndex-Eigenschaft 223 Commands-Eigenschaft 223 DefaultCommandIndex-Eigenschaft 223 ShowAsync()-Methode 222
Messenger 282 Metadaten 27, 290, 336, 354 Metadatenadapter 29 Metadatenbindung in .NET 29 Methodenüberladungen 251 Microsoft-Designstil 19 Microsoft-Konto 33 Mikrofon 54 MIME-Typ siehe Medientyp Mindestauflösung 361 Miniaturbilder 224 Mobilfunkkosten 335 Model 239 MP3-Format 135 MPEG-2-Format 135 MPEG-4-Format 135 ms-appdata-Syntax 78, 280 ms-appdata-URI-Format 287 ms-appx-Syntax 78, 261, 280 ms-resource-Syntax 78 ms-winsoundevent-Syntax 281 Multilingual App Toolkit für Visual Studio 238 Multimedia-Controls 134 Multiple Transformation 164 Musikbibliothek 55 MVVM-Pattern 239
N
Nachrichtenencodierungen 322 Näherung 55 Natürlich wirkende Animationen durch Easing-
Funktionen 158 NavigatingCancelEventArgs-Klasse 45
Cancel-Eigenschaft 45 Navigation abbrechen 45 Navigation auf Seitenebene 46 NavigationEventArgs-Klasse
NavigationMode-Eigenschaft 44 Parameter-Eigenschaft 44 SourcePageType-Eigenschaft 44
NavigationEventArgs-Klasse 44 Navigationshistorie 46
Stichwortverzeichnis 389
Near Field Communication 55 Negotiate-Authentifizierung 322 NetHttpBinding-Klasse 322 NetTcpBinding-Klasse 322 NetworkChange-Event 309 NetworkChange-Klasse NetworkAddressChanged-Event 309 NetworkInformation-Klasse GetConnectionProfiles()-Methode 309 NetworkInterface-Klasse 309 GetIsNetworkAvailable()-Methode 309 Netzwerkbenachrichtigung 309 Netzwerkinformationen analysieren 309 Netzwerkprofile 309 Netzwerkprotokolle 324 Netzwerkstatus 309 Netzwerkverbindung 309 Neustart der App 316 NFC siehe Near Field Communication Notification.Default 282 Notification.IM 282 Notification.Looping.Alarm 282 Notification.Looping.Call 282 Notification.Mail 282 Notification.Reminder 282 Notification.SMS 282 NTLM 353 Ntlm-Authentifizierung 322 Nutzdaten 297 Nutzung von Apps 366
O
Oberflächenelemente transformieren 161 ObjectAnimationUsingKeyFrames-Klasse 155, 211 ObservableCollection<T>-Klasse 196 One Way Binding 178 OnNavigatedTo()-Methode 316 On-Screen-Tastatur 120 Open Packaging Conventions 326 OpenType-Schriftarten 114 Overlay-Fenster 224 Overload-Attribut 251
P
package.appxmanifest 254 Package.appxmanifest 53, 57, 61, 288, 293, 369 Package-ID 293 Package-Klasse 286 Current-Eigenschaft 286
InstalledLocation-Eigenschaft 286
Page Caching 48 Page-Klasse 40, 43, 46, 48, 73, 83, 141, 210
BottomAppBar-Eigenschaft 141 Frame-Eigenschaft 43 NavigationCacheMode-Eigenschaft 48 OnNavigatedFrom()-Methode 47 OnNavigatedTo()-Methode 46 OnNavigatingFrom()-Methode 47 SizeChanged-Event 210 SizeChanged-Event 212 TopAppBar-Eigenschaft 141
Paketdatei 251 Paketname 369 Panel-Klasse 73, 92
ArrangeOverride()-Methode 92 Children-Eigenschaft 73, 92 MeasureOverride()-Methode 92
PasswordBox-Klasse 119 PasswordVault-Klasse 297 Passwörter 297 PathFigure-Klasse 150 Path-Klasse 150 PathSegment-Klasse 150 PC-Einstellungen 257, 275, 296 PCI-Datensicherheitsstandard 335 PEGI 335 Performance Counter 31 PeriodicUpdateRecurrence-Enumeration 263 PickerLocationId-Enumeration 224 Pinchgeste 104, 202 Pinsel 113, 151 Pixelbasiertes Layout 99 Pixeloperationen 81 PlaneProjection anwenden 165 PlaneProjection-Klasse 165
CenterOfRotationX-Eigenschaft 166 CenterOfRotationY-Eigenschaft 166 CenterOfRotationZ-Eigenschaft 166 GlobalOffsetX-Eigenschaft 167 GlobalOffsetY-Eigenschaft 167 GlobalOffsetZ-Eigenschaft 167 LocalOffsetX-Eigenschaft 167 LocalOffsetY-Eigenschaft 167 LocalOffsetZ-Eigenschaft 167 RotationX-Eigenschaft 166 RotationY-Eigenschaft 166 RotationZ-Eigenschaft 166
PNG-Format 134, 274 PointAnimation-Klasse 155 Polygon-Klasse 150
Points-Eigenschaft 150
390 Stichwortverzeichnis
Polyline-Klasse 150 Polymorphismus 251 Pooling-Verfahren 266 Popup 273 Popup-Fenster 277 Popup-Klasse
Closed-Event 304 Portierung auf eine andere, XAML-basierte Plattform
239 Positionierung von Elementen beeinflussen 105 Postalische Adresse ermitteln 55 POST-Operation 268, 310, 318 PowerEase-Klasse 159 PowerShell 330 Preisgestaltung 366 Preisspanne einer App angeben 348 Primärschlüssel 321 Private Netzwerke 308 Private Netzwerke (Client und Server) 55 Probeausgabe 365 ProductLicense-Klasse 369
ExpirationDate-Eigenschaft 370 IsActive-Eigenschaft 369
ProductListing-Klasse FormattedPrice-Eigenschaft 370 Name-Eigenschaft 370
Produktdaten 370 Produkt-ID 371 Produktlebensdauer 366 Programmiersprachen 26 Progress<DownloadOperation>-Klasse 313 ProgressBar-Klasse 139
IsActive-Eigenschaft 140 IsIndeterminate-Eigenschaft 139 Maximum-Eigenschaft 139 Minimum-Eigenschaft 139 ShowError-Eigenschaft 140 ShowPaused-Eigenschaft 140 Value-Eigenschaft 139
ProgressRing-Klasse 139 IsActive-Eigenschaft 140 IsIndeterminate-Eigenschaft 139 Maximum-Eigenschaft 139 Minimum-Eigenschaft 139 ShowError-Eigenschaft 140 ShowPaused-Eigenschaft 140 Value-Eigenschaft 139
Projection Layer 27 Projektaufbau 33 Projekteigenschaften 53 Projektion 27
Projektion von .NET-Sprachen 29 Projektionen 165 Projektionen mit Animation kombinieren 167 Projektvorlagen siehe Visual Studio Promotional Images der App 82 Property Elements 68 Property Element-Syntax 68 Property Wrapper 217 PropertyMetadata-Klasse 217 Protokoll 58 Proxy-Generator 322 Proxyklassen 322 Prozessorarchitektur 359 Prozessortypen 333 Prüfbericht 341 Prüflauf 340 Pseudo-3D 165 Pseudosprache 239 Public-Key-Verfahren 353 Push Notification Channel 266 Pushbenachrichtigung 275 Pushbenachrichtigungen 351 Push-Benachrichtigungen 324 Push-Benachrichtigungen vom Server versenden 268 PushNotificationChannel-Klasse 267
Uri-Eigenschaft 267 PushNotificationChannelManager-Klasse 267
CreatePushNotificationChannelForApplication-Async()-Methode 267
Push-Verfahren 266 PUT-Operation 310, 318
Q
QuadraticEase-Klasse 159 QuarticEase-Klasse 159 Querladen siehe Sideloading QuinticEase-Klasse 159 Quittung für In-App-Verkäufe 371
R
RadioButton-Klasse 114 Checked-Event 114 IsChecked-Eigenschaft 114
RandomAccessStreamReference OpenReadAsync()-Methode 232
RandomAccessStreamReference-Klasse 231 CreateFromFile()-Methode 231 CreateFromUri()-Methode 231
Stichwortverzeichnis 391
Rasteranwendung 215 Raster-App 46, 52, 243 Raster-App (XAML) 32 RCW siehe Runtime Callable Wrapper readonly-Schlüsselwort 216 Really Simple Syndication 324 Rechtschreibprüfung aktivieren 122 Rectangle-Klasse 139, 150
Height-Eigenschaft 150 Width-Eigenschaft 150
Reference Counting 29 Reference.cs-Datei 322 Regeln für die Nutzung von WNS 270 Regeln für die Zertifizierung 332 Registry 333 Release-Modus 338 ReorderThemeTransition-Klasse 161 RepeatButton-Klasse 115
Click-Event 115 RepositionThemeTransition-Klasse 161 Representational State Transfer 317 RequestedOperation-Eigenschaft 232 Resource Dictionaries 76, 147, 176, 189 Resource Lookup-Mechanismus 88 ResourceDictionary-Klasse 84
MergedDictionaries-Eigenschaft 84 ThemeDictionaries-Eigenschaft 86 TryGetValue()-Methode 87
ResourceLoader-Klasse 237 GetString()-Methode 237
Resources-Verzeichnis 236 Ressourcen 75
per XAML referenzieren 77 Ressourcendatei 236 Ressourcenschlüssel 237 Ressourcensystem 235 Ressourcenwörterbücher 84 REST-basierte Services 310 REST-Modell 317 Resuming-Event 50 resw-Dateien 236 RichEditBox-Klasse 119 RichTextBlock-Klasse 116
Clip-Eigenschaft 118 LineHeight-Eigenschaft 118 LineStackingStrategy-Eigenschaft 118 OverflowContentTarget-Eigenschaft 116
RichTextBlockOverflow-Klasse 116 Richtlinien für das Roaming von Anwendungsdaten
297 Roaming 286
Roaming-Daten 295 roaming-Schlüsselwort 287 Roaming-Verzeichnis 295 RotateTransform-Klasse 162
Angle-Eigenschaft 162 Routed Events 71 RowDefinition-Klasse
Height-Eigenschaft 95 RSS siehe Really Simple Syndication RSS-Feeds 324 RTF-Format 230 Rückwärtsnavigation 47 Runtime Broker 30, 55 Runtime Callable Wrapper 29
S
scale-Schlüsselwort 79 ScaleTransform-Klasse 162, 163
ScaleX-Eigenschaft 163 ScaleY-Eigenschaft 163
ScheduledTileNotification-Klasse 263 DeliveryTime-Eigenschaft 263 Id-Eigenschaft 263
ScheduledToastNotification-Klasse 283 Schreiben in eine Datei 291 Schreiboperationen 287 Schrifteigenschaften der App 83 Schriftgrößen 107 Screenshots 332, 336, 337, 360 Screenshots der App 82 Scrollbars 102 Scrollen 102 Scrollrichtung festlegen 102 Scrollverhalten 102 ScrollViewer-Klasse 102
HorizontalScrollBarVisibility-Eigenschaft 102 HorizontalScrollMode-Eigenschaft 102 HorizontalSnapPointsType-Eigenschaft 104 IsHorizontalRailEnabled-Eigenschaft 103 IsVerticalRailEnabled-Eigenschaft 103 MaxZoomFactor-Eigenschaft 104 MinZoomFactor-Eigenschaft 104 ScrollToHorizontalOffset()-Methode 105 ScrollToVerticalOffset()-Methode 105 VerticalScrollBarVisibility-Eigenschaft 102 VerticalScrollMode-Eigenschaft 102 VerticalSnapPointsAlignment-Eigenschaft 104 VerticalSnapPointsType-Eigenschaft 104 ZoomMode-Eigenschaft 104 ZoomToFactor()-Methode 105
392 Stichwortverzeichnis
sealed-Schlüsselwort 250 SearchActivatedEventArgs-Klasse 62
QueryText-Eigenschaft 62 Search-Contract 61 SearchPane-Klasse 63
GetForCurrentView()-Methode 63 OnSuggestionsRequested-Event 63
Secondary Tiles 25, 272 finden und entfernen 277
SecondaryTile-Klasse 272, 274, 277 Exists()-Methode 273 FindAllAsync()-Methode 277 FindAllForPackageAsync()-Methode 277 LockScreenBadgeLogo-Eigenschaft 274 LockScreenDisplayBadgeAndTileText-Eigenschaft
274 RequestCreateAsync()-Methode 273 RequestCreateForSelectionAsync()-Methode 273 RequestDeleteAsync()-Methode 277
Secure Sockets Layer 353 Security Identifier 266 Segoe UI Symbol-Font 143 Seitenlayout 215 Sekundäre Kacheln 25, 272 SelectionChangedEventArgs-Klasse 125
AddedItems-Eigenschaft 125 RemovedItems-Eigenschaft 125
Selector-Klasse 124 Semantic Zoom 20, 124 Semantic Zoom implementieren 201 Semantic Zoom steuern 206 SemanticZoom-Klasse 206
CanChangeViews-Eigenschaft 206 IsZoomedInViewActive-Eigenschaft 206 IsZoomOutButtonEnabled-Eigenschaft 206 ViewChangeCompleted-Event 206 ViewChangeStarted-Event 206
SemanticZoom-Klasse 202 Separation von Programmteilen 240 Serialisieren von Objekten 132 Serialisierungklassen 322 Service-Endpunkt 323 Serviceimplementierung 322 Serviceoperationen 318 Service-Proxy 322 Servicereferenz 323 Settings siehe Einstellungen settings.dat-Datei 293 SettingsCommand-Klasse 300 SettingsPaneCommandsRequestedEventArgs-Klasse
301
SettingsPane-Klasse 301 CommandsRequested-Event 301
SetVersionDeferral-Klasse 299 SetVersionRequest-Klasse 299
Complete()-Methode 299 GetDeferral()-Methode 299
Shape-Klasse Fill-Eigenschaft 151 Stroke-Eigenschaft 151 StrokeThickness-Eigenschaft 151
Shapes 150 Share-Contract 58 Sicherheit 335 Sicherheitsmodelle 322 Sicherheitsrelevante APIs 30 SID siehe Security Identifier Sideloading 327 silent-Attribut 282 Silverlight 66 Simulator 22, 121, 338, 362 SineEase-Klasse 159 Skalierung von Bildern 79, 134 SkewTransform-Klasse 162
AngleX-Eigenschaft 163 AngleY-Eigenschaft 163
SkyDrive 23, 297, 324 SkyDrive SDK 25 Small Logo der App 81 Smart Card 55 Smartcard-Zertifikate 308 SMS 282 Snapped-Modus 23, 42, 60, 208, 334, 337 Snapping 103 SOAP-basierte Services 322 SOAP-Protokoll 317 Socketbasierte Kommunikation 324 Sofortnachricht 282 SolidColorBrush-Klasse 151
Color-Eigenschaft 151 Speicherlimit von Roamingdaten 297 Speichern des aktuellen Zustands 50 Speichern von Daten 292 Speicherort (Location) 54, 56 Speicherverbrauch 16, 310 Speicherverwaltung 16 Spiel-Explorer 58 Splash Screen der App 81 SplineDoubleKeyFrame-Klasse 157 Spline-Keyframes 157 Sprachen 235 Sprachen unterstützen 336
Stichwortverzeichnis 393
Sprachversion 337 Sprachverzeichnisse 80, 237 SSL siehe Secure Sockets Layer SslStreamSecurity 322 StackPanel-Klasse 92
Orientation-Eigenschaft 92 StandardDataFormats-Enumeration 231 Standard-Fingereingabemodus 122 Standardsprache 235 StandardStyles.xaml 34 StandardStyles.xaml-Datei 85, 141 Standardverzeichnisse 288 Startbildschirm 254, 274 Startparameter einer App 272 States 208 StaticResource-Markup Extension 70, 83 Status der App in Visual Studio steuern 51 Status der App speichern 292 Statusinformationen über Badges anzeigen 270 Stopppunkte eines Farbverlaufs 113 StorageApplicationPermissions-Klasse 290
Entries-Eigenschaft 290 FutureAccessList-Eigenschaft 290
StorageFile-Klasse 78, 225, 227, 287, 290, 291 GetFileFromApplicationUriAsync()-Methode 78 OpenAsync()-Methode 78, 290, 291
StorageFolder-Klasse 286, 290, 291 CreateFileAsync()-Methode 291 GetFileAsync()-Methode 290 GetFileFromApplicationUriAsync()-Methode 286
StorageItemAccessList-Klasse 290 Add()-Methode 290 GetFileAsync()-Methode 290 Remove()-Methode 290
StorageItem-Klasse 232 StorageItemTypes-Klasse 233 Store Logo der App 81 Store-Business-Bereich 343 Store-Richtlinien 334 Storyboard-Klasse 155, 211
Begin() 156 BeginTime-Eigenschaft 157 Completed-Event 156 Duration-Eigenschaft 211 GetCurrentState()-Methode 156 Pause()-Methode 156 Resume()-Methode 156 Seek()-Methode 156 SeekAlignedToLastTick()-Methode 156
SkipToFill()-Methode 156 TargetName-Eigenschaft 155, 211 TargetProperty-Eigenschaft 155, 211 To-Eigenschaft 211
StreamedRequest-Übertragungsart 322 StreamedResponse-Übertragungsart 322 Streamed-Übertragungsart 322 Stream-Klasse 292, 320 StringContent-Klasse 320 StringFormat-Eigenschaft 182 Strings-Ordner 236 Style definieren 88 Style-Klasse 89, 127
BasedOn-Eigenschaft 89 TargetType-Eigenschaft 89
Styles 88 Suchen 58 Suchen-Contract 61 Suchfunktionalität 24 Suggestions 63 Support 363, 365 Support für Apps 336 Supportkontaktinformationen 336 Surface 15, 328 Surface Pro 15 Suspending 297 Suspending-Event 50 Suspension 48 SuspensionManager-Klasse 46, 52
SessionStateForFrame()-Methode 53 SVG 66 Swipe 22 Swipe-Geste 133 Synchronisation 178 Synchronisation von Einstellungen 295 Synchronisationseinstellungen konfigurieren 295 Synchronisationsoptionen 296 System.ComponentModel-Namespace 178 System.Diagnostics-System.Diagnostics-Namespace 31 System.Net.Http-Namespace 310 System.Net.NetworkInformation-Namespace 309 System.Net-Namespace 310 System.Runtime.CompilerServices-Namespace 179 System.Runtime.Serialization.Json-Namespace 319 System.Runtime.Serialization-Namespace 319 Systemdaten 295 Systemdialoge 221 Systemeinstellungen 295 Systemvoraussetzungen 350 Systemzugriff 29
394 Stichwortverzeichnis
T
Tap 22 Task<T>-Klasse 323 TaskCanceledException-Klasse 315 Task-Klasse 316, 323
WhenAll()-Methode 316 Tastatur 21 Tastaturverarbeitung 42 TCP-basierte Kommunikation 324 TcpTransport 322 Teilen (Share) 59 Teilen persönlicher Informationen 334 template-Attribut 256 TemplateBinding-Markup Extension 147 Template-Bindungen 147 temporary-Schlüsselwort 287 Testbarkeit 239, 246 Testergebnisse 340 Testklassen 240 Testphase 365 Testversionen 332 Textanzeigesteuerelemente 116
Text auf mehrere Blöcke verteilen 116 Umbruch festlegen 116 Zeichenbreite verändern 117 Zeilenhöhe konfigurieren 118
TextBlock-Klasse 116 CharacterSpacing-Eigenschaft 117 Clip-Eigenschaft 118 LineHeight-Eigenschaft 118 LineStackingStrategy-Eigenschaft 118 TextWrapping-Eigenschaft 116
TextBox-Klasse 119 InputScope-Eigenschaft 119 IsSpellCheckEnabled-Eigenschaft 122 IsTextPredictionEnabled-Eigenschaft 123
Texteingaben 119 als E-Mail-Adresse kennzeichnen 119 als Nummer kennzeichnen 119 als Suchanfrage kennzeichnen 119 als Telefonnummer kennzeichnen 119 als Uri kennzeichnen 119 Eingabemodus bestimmen 119 Rechtschreibprüfung aktivieren 122 Wortvervollständigung unterstützen 123
TextMessageEncoding 322 Textumbrüche in Texten 116 Theme Dictionaries 85 Theme-Animationen 154, 159 themeresources.xaml-Datei 85, 86
Themes 84 Themespezifische Ressourcen 86 Thickness-Struktur 108, 112 Threadsynchronisation 309 TIFF-Format 134 TileNotification-Klasse 256
ExpirationTime-Eigenschaft 262 Tag-Eigenschaft 262
Tiles siehe Kachel TileUpdateManager-Klasse 256, 276
CreateTileUpdaterForApplication()-Methode 256 GetTemplateContent()-Methode 256
TileUpdater-Klasse 256, 265, 266 AddToSchedule()-Methode 263 Clear()-Methode 262 CreateTileUpdaterForSecondaryTile()-Methode 276 EnableNotificationQueue()-Methode 262 NotificationSetting-Klasse 257 RemoveFromSchedule()-Methode 263 StartPeriodicUpdate()-Methode 263, 265 StartPeriodicUpdateBatch()-Methode 265 StopPeriodicUpdate()-Methode 266 Update()-Methode 256
Tile-Vorlage auswählen 257 Timeline-Klasse 155
AutoReverse-Eigenschaft 156 BeginTime-Eigenschaft 156 FillBehavior-Eigenschaft 156 RepeatBehavior-Eigenschaft 156 SpeedRatio-Eigenschaft 156
TimeSpan-Struktur 136 TLS siehe Transport Layer Security Toast-Benachrichtigungen 277 toast-Element 278 ToastFailedEventArgs-Klasse 281
ErrorCode-Eigenschaft 281 ToastNotification-Klasse 280
Activated-Event 281 Dismissed-Event 281 ExpirationTime-Eigenschaft 280 Failed-Event 281
ToastNotificationManager-Klasse 280 CreateToastNotifier()-Methode 280
ToastNotifier-Klasse 280, 283 AddToSchedule()-Methode 283 GetScheduledToastNotifications()-Methode 283 RemoveFromSchedule()-Methode 283 Show()-Methode 280
Toasts Anzeigedauer steuern 280 auf Fehler reagieren 281
Stichwortverzeichnis 395
Toasts (Fortsetzung) Ein- und Ausblenden 281 löschen 283 Startparameter festlegen 283 zeitgesteuert anzeigen 283
Toast-Vorlagen 278 ToggleButton-Klasse 114
IsChecked-Eigenschaft 114 ToggleSwitch-Control 22 ToggleSwitch-Klasse 115
OffContent-Eigenschaft 115 OnContent-Eigenschaft 115
Token 268, 366 Touchbedienung 21 Touch-Eingabe 122, 124 Touchfunktionalität 124 Touchgesten 21, 102, 124, 129, 133, 201 Touchmodus 122 Touch-Verarbeitung 42 Touchverhalten 103 TPX-Format 238 Transaktionsanbieter 335 Transformation 161
Elemente kippen 163 Elemente rotieren 162 Elemente skalieren 163 Elemente verschieben 163 Multiple Transformation 164
TransformGroup-Klasse 164 Transform-Klasse 162 Transition-Animationen 154, 160 TranslateTransform-Klasse 162, 163
X-Eigenschaft 163 Y-Eigenschaft 163
Transport 322 Transport Layer Security 353 TransportCredentialOnly 322 TransportSecurity 322 TransportWithMessageCredential 322 Trennung von Oberfläche und Logik 239 Trial-Version erstellen 373 Trial-Version testen 374 TypeName-Klasse 43
U
UAC siehe User Access Control Übergabeparameter auf der Zielseite auswerten 44 Übersetzungsprogramme 238 Übersetzungsprozess 238 Übersetzungsressourcen 236 Übertragung von Daten 335
Übertragungsarten 322 UDP-basierte Kommunikation 324 UICommandInvokedHandler-Klasse 223, 301 UICommand-Klasse 223 Uid-Markup Extension 237 UIElement-Klasse 72, 87, 105, 162, 165
ActualHeight-Eigenschaft 110 ActualWidth-Eigenschaft 110 AddHandler()-Methode 72 DesiredSize-Eigenschaft 110 DragEnter-Event 132 DragLeave-Event 132 DragOver-Event 132 Opacity-Eigenschaft 106 Projection-Eigenschaft 165 RenderSize-Eigenschaft 110 RenderTransform-Eigenschaft 162, 164 RenderTransformOrigin-Eigenschaft 162 Visibility-Eigenschaft 106
UI-Elementkombinationen 215 UI-Paradigmen 337 Umgang mit ComboBox-Controls 192 UMTS 316 UnauthorizedAccessException-Klasse 56 Uniform Resource Identifier 67, 231 Unit Test 246 Unternehmensauthentifizierung 54, 308 Updates 333, 336, 361 Uploads 335 URI siehe Uniform Resource Identifier Uri-Eigenschaft 267 Uri-Klasse 263, 313, 318 Usability 24, 143 User Access Control 331 User Controls 215, 218 UserControl 302 UserControl-Klasse 73 using-Schlüsselwort (XAML) 68 UTF8 265, 320
V
Value Converter 172, 182 VariableSizedWrapGrid-Klasse 93, 97
HorizontalChildrenAlignment-Eigenschaft 98 ItemHeight-Eigenschaft 98 ItemWidth-Eigenschaft 98 MaximumRowsOrColumns-Eigenschaft 97 Orientation-Eigenschaft 98 VerticalChildrenAlignment-Eigenschaft 98
Vererbung 251 Verhaltensweise der App 333
396 Stichwortverzeichnis
Verifizieren von Apps 338 Verkaufsdetails einer App 348 Verkaufsprozess 336 Verknüpfung in die Zwischenablage kopieren 232 Veröffentlichung von Apps 326 Veröffentlichungsdatum einer App 349 Verpacken 35 Versionsinfos überprüfen 365 Verweise
in der Zwischenablage hinterlegen 234 Verzeichnis auswählen 226 Videobibliothek 55 Videos wiedergaben 135 Videostreams 335 View 239 Viewbox-Klasse 101
StretchDirection-Eigenschaft 102 Stretch-Eigenschaft 101
ViewModel 239 Virtualisierung 124 Visibility-Enumeration 106 Visual States 212, 246 Visual Studio
App mit Store verknüpfen 354 App-Paket hochladen 358 Express-Version 14, 318, 338 Multilingual App Toolkit 238 Projektvorlagen 46, 215, 243, 248, 254, 338 Windows App Certification Kit 338
Visual Studio-Projektvorlagen 31 VisualStateManager-Klasse 156, 211, 247
GoToState()-Methode 212, 247 Vollversion aus der App heraus erwerben 375 Vollversionen 365
W
WACK siehe Windows App Certification Kit Währung 370 Wartbarkeit 239 Warteschlangen für Benachrichtigungen 262 WAV-Format 135 WCF siehe Windows Communication Foundation Webcam 55 WebHostHidden-Attribut 250 Webinhalte einbinden 137 Webservice 263, 317, 322 WebSockets 324 WebUtility-Klasse 311
HtmlDecode()-Methode 311 HtmlEncode()-Methode 311
UrlDecode()-Methode 311 UrlDecodeToBytes()-Methode 311 UrlEncode()-Methode 311 UrlEncodeToBytes()-Methode 311
WebViewBrush-Klasse 139 WebViewBrush-KlasseRedraw()-Methode 139 WebViewBrush-KlasseSourceName-Eigenschaft 139 WebView-Klasse 137
AllowedScriptNotifyUris-Eigenschaft 138 InvokeScript()-Methode 137 LoadCompleted-Event 137 Navigate()-Methode 137 NavigateToString()-Methode 137 Source-Eigenschaft 137
Wechselspeichergeräte 55 Werbeplatzierung 375 Werbung 332, 333, 365, 375 Wiederherstellen des gespeicherten Zustands 51 Win32-API 15, 333 Window-Klasse 40, 42
Activate()-Methode 41, 42 Activated-Event 42, 304 Bounds-Eigenschaft 42 Content-Eigenschaft 41, 42 CoreWindow-Eigenschaft 42 Dispatcher-Eigenschaft 42 SizeChanged-Event 42, 303 VisibilityChanged-Event 42 Visible-Eigenschaft 42
Windows 8 SDK 330 Windows 8-Endgeräte 295 Windows App Certification Kit 338 Windows Azure Mobile Services 324 Windows Communication Foundation 31, 264, 308 Windows Designsprache 17 Windows Live-Dienste 324 Windows Live-ID siehe Microsoft-Konto Windows Phone 66 Windows Presentation Foundation 31, 66 Windows Push Notification Service 266, 335 Windows Push Notification Service konfigurieren 350 Windows RT 15 Windows Runtime 15, 26 Windows Runtime-Komponente 248 Windows Store 266, 326, 335, 371 Windows Store-API 335 Windows Store-Apps
Design-Guidelines 19 Windows Store-Projekt 33 Windows Workflow Foundation 66 Windows.ApplicationModel.DataTransfer-Namespace
59
Stichwortverzeichnis 397
Windows.ApplicationModel.Resources-Namespace 237 Windows.ApplicationModel-Namespace 286 Windows.Foundation.Collections-Namespace 196 Windows.Networking.BackgroundTransfer-Namespace
313 Windows.Networking.Connectivity-Namespace 309 Windows.Security.Credentials-Namespace 297 Windows.Storage-Namespace 294 Windows.UI.ApplicationSettings-Namespace 301 Windows.UI.Popups-Namespace 222 Windows.UI.Xaml.Controls-Namespace 141 Windows.UI.Xaml.Data-Namespace 172 Windows.UI.Xaml-Namespace.Media.Animation 155 Windows.Web.AtomPub-Namespace 324 Windows.Web.Syndication-Namespace 324 Windows-Authentifizierung 322 Windows-Designsprache 337 Windows-Domäne 308 Windows-Explorer 232 Windows-Infrastruktur 337 Windows-Kontrastmodus 79 Windows-Metadatendatei 251 Windows-Ökosystem 333 Windows-Runtime 333, 334 Windows-Runtime-Komponente 251 WindowsStoreProxy-Datei 367 WindowsStoreProxy-Datei finden 369 WindowsStreamSecurity 322 Windows-Suche 57 WINMD siehe Windows-Metadatendatei WinRT 26 WinRT-Komponenten 27 W-LAN-Adapter 309 WLAN-Router 55 WMI 31 WNS siehe Windows Push Notification Service WNS-Typ 268 WrapGrid-Klasse 128, 206 WS-Discovery-Protokoll 322 WsHttpBinding-Bindung 322
X
X2-Eigenschaft 150 x64-Prozessorarchitektur 15 x86-Prozessorarchitektur 15 XAML 66 XAML Markup Extension 127 XAML Markup Extensions 70
XAML-basierte Anwendungen 241 XAML-Basisklassen 105 XAML-Designer 80 XAML-Dokument 67 XAML-Elemente miteinander verbinden 173 XAML-Elementsyntax 88 XAML-Klassenmodell 71 XAML-Namespaces 67 XAML-Objektmapping 66 XAML-Parser 69 XLIFF-Format 238 XML 256 XML-Datei 340 XmlDocument-Klasse 256, 280 XmlObjectSerializer-Klasse 319 XmlSerializer-Klasse 322 XML-Struktur 255 X-WNS-Expires-Kennzeichen 265 X-WNS-Tag-Kennzeichen 265
Z
Zeitgesteuerte Toasts 283 Zeitungen 365 Zertifikate 58, 331, 343 Zertifizieren von Apps 332 Zertifizierung 335 Zertifizierungsprozess 53, 251, 326, 337 Zertifizierungsstatus 365 Zielfreigabe 58 Zielfreigabe (Share) 58 Zielgruppe 375 ZoomedInView-Eigenschaft 202 ZoomedOutView-Eigenschaft 202 Zugriff auf die Standardverzeichnisse 288 Zugriff auf lokalisierte Ressourcen 237 Zugriff auf Verzeichnisse 287 Zugriffsmodus einer Datei 291 Zugriffsprüfung 290 Zur Zertifizierung übermitteln 365 Zusammenhängende Einstellungen 298 Zustände 208 Zustandsänderungen 215 Zwischenablage 229
Verweise hinterlegen 234 Zwischenablageformate 234 Zwischenversionen 332