Dokumentation: Content App Framework

Ähnliche Dokumente
Dokumentation: Erstellung einer Content App für Windows 8

MCRServlet Table of contents

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

WPF Steuerelemente Listbox, ComboBox, ListView,

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Vorabversion. Schulung am Homepage Administration und Pflege

WPF Bindung. Dr. Beatrice Amrhein

affilinet_ Flash-Spezifikationen

Beschreibung der Einstellungen zum Drucken aus TRIC DB mit BricsCad ab Version V5

Handbuch Amos Ersteller: EWERK MUS GmbH Erstellungsdatum:

ECO-Manager - Funktionsbeschreibung

Arbeiten mit UMLed und Delphi

Microsoft Visual Studio Community 2015

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Nie wieder eine Sitzung verpassen unser neuer Service für Sie!

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

ejgp Webseite Kurzeinführung

Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Rundung und Casting von Zahlen

Screening for Illustrator. Benutzerhandbuch

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Installation OMNIKEY 3121 USB

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)

Systemvoraussetzung < zurück weiter >

ROFIN App Benutzerhandbuch. Version 1.0

ASDI Benchmarking Projekt. Anleitung zum Datenexport

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

An-/Abwesenheitsplaner Überstunden verwalten

Kennen, können, beherrschen lernen was gebraucht wird

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

Informationen zu den regionalen Startseiten

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Bereitschafts Status System Konfigurations- und Bedienungsanleitung

Einführung in die Java- Programmierung

Process4.biz Release Features Übersicht. Repository. Das Schützen von Diagrammen wurde optimiert (check-in, check-out)

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

GSD-Radionik iradionics Android-App

Kurzanweisung für Google Analytics

Module Entwicklung. Um diese Eigenschaft aufzurufen, starten Sie die Adami Vista CRM Applikation und wählen Sie den Entwicklung Menü.

Handbuch ECDL 2003 Basic Modul 7 Abschnitt 1: Information Kopieren aus dem Browser

Notizen. 1 Inhaltsverzeichnis 1 INHALTSVERZEICHNIS EINLEITUNG KONFIGURATIONSEINSTELLUNGEN VERTRAUENSWÜRDIGE SITES HINZUFÜGEN...

Menü auf zwei Module verteilt (Joomla 3.4.0)

ANWENDUNGSHINWEISE ZU SYMBOLSTIX

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Anleitung zur Verwendung der VVW-Word-Vorlagen

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Ihr CMS für die eigene Facebook Page - 1

Der Empfänger, der das Verschlüsselungsverfahren noch nicht nutzen kann, erhält folgende

Anbindung des Onyx Editors an das Lernmanagementsystem OLAT Anwendungsdokumentation

inviu routes Installation und Erstellung einer ENAiKOON id

Benutzerhandbuch Moodle für Kursteilnehmer/innen am MPG

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Anleitung vom 4. Mai BSU Mobile Banking App

Vorgehensweise bei Lastschriftverfahren

Sichern auf den zentralen TSM-Servern unter Windows. Sichern auf den zentralen TSM-Servern unter Windows

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Ihre Lizenz ändern. Stand 01/2015

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

Password Depot für ios

Rechnung Angebot Zeiterfassung

So geht s Schritt-für-Schritt-Anleitung

iphone app - Anwesenheit

Anzeige von eingescannten Rechnungen

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

Programmers Manual Geodaten Ver. 2.0

Bedienungsanleitung. HABA-Produktgenerator. für unsere Kunden und Interessenten

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Klicksparen. Einrichtung und Nutzung von Klicksparen am Beispiel vom iphone Hamburg,

Electronic Systems GmbH & Co. KG

Das Seminar ist eine Prüfungsleistung für Bachelor und Masterstudierende der Informatik!

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Modul CTO Barcode für Windows Seite 1

Filialpreisverwaltung

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Attribut-Zertifikat importieren zur Nutzung in Sign Live! CC

App Entwicklung mit dem Android SDK

Verwendung der PayJoe -API zum externen Upload von Belegen und Zahlungen

Dokumentation. Matthias Hueber & Stefan Furnari GbR Am Mühlberg Bad Abbach

Siemens Industry Online Support Suchen und Filtern - Schlagwortsuche. Suchen Alternative 1. Schlagwort-Suche

Technical Note 0606 ewon

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

MARCANT - File Delivery System

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Gebrüder Weiss Internet Auftrag Portal

Einrichtung Schritte:

Redaktionssystem E-MODE. Handbuch für RedakteurInnen. Inhalt. Informationen über E-MODE, Standards & Regeln:

BSCW-Schnellstart - Handout für Studierende

Software Release Notes

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6

Transkript:

Dokumentation: Content App Framework Andreas Breuninger, medialesson GmbH Januar 2013

Inhaltsverzeichnis 1. DataService... 3 1.1. Laden/Parsen der Daten... 3 1.1.1. GetDataset() -> GetDataAsync<T>() -> GetXmlAsync() -> ParseData<T>()... 3 1.2. Dataset-Model... 3 1.3. Bing Web/Bildersuche... 3 2. Utilities... 4 2.1. AppHelper... 4 2.2. HubItemTemplateSelector... 4 3. MainViewModel... 5 3.1. Methoden... 5 3.1.1. Init()... 5 3.1.2. GetImageResults() & GetWebResults()... 5 3.2. Sections... 5 4. MainPage... 6 4.1. CollectionViewSource... 6 4.2. SemanticZoom... 6 4.2.1. ZoomedInView... 6 4.3. ViewStates... 6 4.4. AdControl... 6 Seite 2/6

1. DataService 1.1. Laden/Parsen der Daten 1.1.1. GetDataset() -> GetDataAsync<T>() -> GetXmlAsync() -> ParseData<T>() Diese Funktionen werden dazu verwendet einen Stream auf die Content.xml Datei zu öffnen, und mittels XmlSerializer in ein Dataset-Model zu deserialisieren. Das Model spiegelt die Struktur der Xml-Datei wieder. 1.2. Dataset-Model Die Adressierung der Felder für den XmlSerializer erfolgt über Attribute der einzelnen Properties. [XmlRoot("Dataset")] public class Dataset { [XmlElement("Title")] public String Title { get; set; } [XmlElement("HeroImage")] public HeroImage HeroImage { get; set; } [XmlElement("LegalNotice")] public String LegalNotice { get; set; } [XmlElement("ShareUrl")] public String ShareUrl { get; set; } [XmlElement("Intro")] public String Intro { get; set; } } [XmlElement("Chapter")] public List<Chapter> Chapters { get; set; } 1.3. Bing Web/Bildersuche Für die Suche nach Bildern und Webseiten mittels Bing-API ist die Funktion SearchBingAsync() zuständig. Als Parameter werden der Suchstring, der Typ der Suche (Bilder/Web), maximale Anzahl an Ergebnissen und die Sprache entgegen genommen. Die Parameter count und locale sind als optional deklariert und mit Standardwerten vordefiniert. In Abhängigkeit des Typs der Suche wird die Parse-Funktion für Bilder oder Web aufgerufen, um die geparsten Ergebnisse als Objekte zurückzugeben. Seite 3/6

2. Utilities 2.1. AppHelper Die Init-Methode der AppHelper-Klasse fügt der Anwendung neue Ressourcen, wie zum Beispiel den ViewModelLocator oder die StandardStyles.xaml, hinzu. An dieser Stelle wird auch das Event für den Settings-Charm registriert. SettingsPane.GetForCurrentView().CommandsRequested += SettingsHelper_CommandsRequested; Ein Aufruf der Einstellungen für die Anwendung löst dieses Ereignis aus. Dabei werden aus den Ressourcen der Anwendung der PrivacyLink gelesen und die aufzurufende URL in einer Variable gespeichert. Diese Variable wird zusammen mit weiteren Parametern als neuer SettingsCommand den ApplicationCommands hinzugefügt. 2.2. HubItemTemplateSelector Der HubItemTemplateSelector ist eine abgeleitete Klasse von DataTemplateSelector. Die Methode SelectTemplateCore wurde für unsere Zwecke überschrieben. Je nach übergebenen Datentyp wird eines der zuvor in den Ressourcen der MainPage definierten ItemTemplates zurückgeliefert. Die ItemTemplates sind wie folgt in der MainPage.xaml definiert. Seite 4/6

3. MainViewModel 3.1. Methoden 3.1.1. Init() Diese Methode wird aufgerufen, nachdem das Loaded Event der MainPage gefeuert wurde. Diese Methode wird dazu verwendet, den DataService anzustoßen, die Daten der Xml-Datei zu laden, die Bing Bilder und Websuche auszuführen und die für uns benötigten Properties zu setzen. 3.1.2. GetImageResults() & GetWebResults() Der Aufruf erfolgt wieder über einen RelayCommand aus der SectionPage heraus. Diese Funktionen laden wie der Funktionsname schon erahnen lässt die Bilder und Webseiten, wenn die SectionPage aufgerufen wurde. 3.2. Sections Die einzelnen Sektionen (HeroImage, Einführung, ) werden als Objekte in einer ObservableCollection des Typs GroupInfoList<object> vorgehalten. GroupInfoList ist eine eigens definierte Klasse, abgeleitet von List<object>. Die ObservableCollection benachrichtigt das System automatisch über Änderungen an der Collection, wenn z.b. ein Eintrag der Liste hinzugefügt, oder die gesamte Liste aktualisiert wurde. Um auf Änderungen der Liste via Code reagieren zu können, kann man sich an dem CollectionChanged Event registrieren. Seite 5/6

4. MainPage Der grundlegende Aufbau der MainPage ist schlicht gehalten. Die Definition der CollectionViewSource Datenquelle, Konverter und ItemTemplates erfolgt in den Resourcen des Page- Elements. Die View selbst beinhaltet ein Grid für das Layout, SemanticZoom Elementen für die Snapped/FullScreen-Ansicht und die VisualStates. 4.1. CollectionViewSource Die CollectionViewSource ist eine Providerklasse für Objekte, die das Gruppieren von Daten ermöglicht. Die Source-Property ist an die Sections-Property des MainViewModels gebunden. Die ItemSource dagegen wird via Code-Behind in der MainPage gesetzt. 4.2. SemanticZoom Beschrieben wird nachfolgend nur der SemanticZoom für die ZoomedInView, die Vorgehensweise für ZoomedOutView ist analog zu der ZoomedInView. 4.2.1. ZoomedInView Die aus dem MainViewModel gelieferten Sections werden in der ZoomedInView in einer ListView dargestellt. Die ItemSource ist an die CollectionViewSource gebunden. Die Darstellung der einzelnen Abschnitte ändert sich in Abhängigkeit vom aktuellen Typ der Sektion über den ItemTemplateSelector. 4.3. ViewStates Die einzelnen ViewState der Anwendung, in unserem Fall Snapped und Fullscreen sind bereits im XAML Code der Page definiert. Über den VisualStateManager passen wir unsere View für den aktuellen State der Anwendung an. So wird im Snapped-State die Visibility eines zuvor nicht gerenderten SemanticZoom Elements auf Visible geschalten. Um sicherzustellen, dass von unserem DateTemplateSelector die richtigen Templates zurückgeliefert werden, gibt es diese in den Ausführungen für die Vollbildansicht und für den Snapped-State. 4.4. AdControl Für die Anzeige von Werbeschaltflächen wurde bei zwei ItemTemplates das AdControl aus dem Microsoft Ad SDK hinzugefügt. Die Properties AdUnitId und ApplicationId sind über statische Ressourcen gebunden. Die Sichtbarkeit der Werbeanzeige ist an eine Property des MainViewModels und einen Converter gebunden. Somit wird sichergestellt, dass die Anzeige nur in der ZoomedInView dargestellt wird. Seite 6/6