© 2012 Microsoft Corporation. Alle Rechte vorbehalten.   Microsoft Student Partners
Windows 8 Apps können sich
auf besondere Weise ins
Betriebssystem integrieren…
Jede Anwendung kann eine oder
mehrere Kacheln haben, die die
Anwendung startet und zusätzlich
dynamische Informationen anzeigen
kann.

So hat die Anwendung eine „Präsenz“
auf dem Startbildschirm, selbst wenn
sie gar nicht läuft.
Außerdem können sich Anwendung in
die Charms-Leiste integrieren.

Das schafft eine größere Einheitlichkeit
zwischen den Apps und ermöglicht
diesen, auf sinnvolle Weise zusammen
zu arbeiten.
Stellvertretend für viele Andere Windows 8 Features, wollen wir
uns heute die folgenden Funktionen anschauen:


 Teilen (Sharing)

 Suche

 Live Tiles

 Einstellungen (Settings)
Teilen (Sharing)
DEMO
Zusammenfassung

C#

var transferManager = DataTransferManager.GetForCurrentView();
transferManager.DataRequested += transferManager_DataRequested;

void transferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
    args.Request.Data.Properties.Description = "Beschreibung";
    args.Request.Data.Properties.Title = "Titel";
    args.Request.Data.SetText("Text");
}
Suche
DEMO
Zusammenfassung
C#, Laufende Anwendung im ViewModel:

SearchPane.GetForCurrentView().QuerySubmitted += search_QuerySubmitted;

void search_QuerySubmitted(SearchPane sender, SearchPaneQuerySubmittedEventArgs args)
{
    Search(args.QueryText)
}



C#, Geschlossene Anwendung in der App.xaml.cs:

protected override void OnSearchActivated(SearchActivatedEventArgs args)
{
   // Zur Suchseite navigieren
}
Live-Tiles
DEMO
Zusammenfassung
C#

var tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
tileUpdater.Clear();
tileUpdater.EnableNotificationQueue(true);

var xml =
TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideSmallImageAndText04);

var textElements = xml.GetElementsByTagName("text");
textElements[0].AppendChild(xml.CreateTextNode("Zeile 1"));
textElements[1].AppendChild(xml.CreateTextNode("Zeile 2"));

var imageElements = xml.GetElementsByTagName("image");
imageElements[0].Attributes.GetNamedItem("src").NodeValue = "http://bild.uri";

var notification = new TileNotification(xml);

tileUpdater.Update(notification);
Einstellungen (Settings)
DEMO
Zusammenfassung

C#

SettingsPane.GetForCurrentView().CommandsRequested += settings_CommandsRequested;

void settings_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs
args)
{
    args.Request.ApplicationCommands.Add(new SettingsCommand("Bezeichner",
            "Beschriftung", new UICommandInvokedHandler((command) => {
        // Settings-Flyout anzeigen
    })));
}

Windows 8 Features

  • 1.
    © 2012 MicrosoftCorporation. Alle Rechte vorbehalten. Microsoft Student Partners
  • 2.
    Windows 8 Appskönnen sich auf besondere Weise ins Betriebssystem integrieren…
  • 3.
    Jede Anwendung kanneine oder mehrere Kacheln haben, die die Anwendung startet und zusätzlich dynamische Informationen anzeigen kann. So hat die Anwendung eine „Präsenz“ auf dem Startbildschirm, selbst wenn sie gar nicht läuft.
  • 4.
    Außerdem können sichAnwendung in die Charms-Leiste integrieren. Das schafft eine größere Einheitlichkeit zwischen den Apps und ermöglicht diesen, auf sinnvolle Weise zusammen zu arbeiten.
  • 5.
    Stellvertretend für vieleAndere Windows 8 Features, wollen wir uns heute die folgenden Funktionen anschauen:  Teilen (Sharing)  Suche  Live Tiles  Einstellungen (Settings)
  • 6.
  • 7.
  • 8.
    Zusammenfassung C# var transferManager =DataTransferManager.GetForCurrentView(); transferManager.DataRequested += transferManager_DataRequested; void transferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { args.Request.Data.Properties.Description = "Beschreibung"; args.Request.Data.Properties.Title = "Titel"; args.Request.Data.SetText("Text"); }
  • 9.
  • 10.
  • 11.
    Zusammenfassung C#, Laufende Anwendungim ViewModel: SearchPane.GetForCurrentView().QuerySubmitted += search_QuerySubmitted; void search_QuerySubmitted(SearchPane sender, SearchPaneQuerySubmittedEventArgs args) { Search(args.QueryText) } C#, Geschlossene Anwendung in der App.xaml.cs: protected override void OnSearchActivated(SearchActivatedEventArgs args) { // Zur Suchseite navigieren }
  • 12.
  • 13.
  • 14.
    Zusammenfassung C# var tileUpdater =TileUpdateManager.CreateTileUpdaterForApplication(); tileUpdater.Clear(); tileUpdater.EnableNotificationQueue(true); var xml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideSmallImageAndText04); var textElements = xml.GetElementsByTagName("text"); textElements[0].AppendChild(xml.CreateTextNode("Zeile 1")); textElements[1].AppendChild(xml.CreateTextNode("Zeile 2")); var imageElements = xml.GetElementsByTagName("image"); imageElements[0].Attributes.GetNamedItem("src").NodeValue = "http://bild.uri"; var notification = new TileNotification(xml); tileUpdater.Update(notification);
  • 15.
  • 16.
  • 17.
    Zusammenfassung C# SettingsPane.GetForCurrentView().CommandsRequested += settings_CommandsRequested; voidsettings_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args) { args.Request.ApplicationCommands.Add(new SettingsCommand("Bezeichner", "Beschriftung", new UICommandInvokedHandler((command) => { // Settings-Flyout anzeigen }))); }

Hinweis der Redaktion

  • #2 https://github.com/HorizonNet/DEMO-Windows8-Features-Base als Grundlage für die Demos
  • #8 https://github.com/HorizonNet/DEMO-Windows8-Sharing
  • #11 https://github.com/HorizonNet/DEMO-Windows8-Search
  • #14 https://github.com/HorizonNet/DEMO-Windows8-LiveTiles
  • #17 https://github.com/HorizonNet/DEMO-Windows8-Settings