WPF, Silverlight, Windows Phone 8 und Windows Store Apps

Universal Apps: Plattform ermitteln
Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und Fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „Universal Apps: Plattform ermitteln“. Viel Spaß mit XAML Expertise.

Bei Universal-Apps können plattformspezifische Funktionen ganz einfach mittels der #if-Direktive WINDOWS_APP und WINDOWS_PHONE_APP bestimmt werden. In manchen Szenarien ist aber auch nur einfach die aktuelle Plattform von Interesse. Eine einheitliche Funktion hierfür existiert zwar noch nicht, ist aber mit wenigen Zeilen Code schnell geschrieben.

Universal Apps: aktuelle Plattform bestimmen

Damit diese Funktion applikationsweit für beide Welten zur Verfügung steht, wird eine statische Property mit dem Namen GetPlatform in die App.xaml.cs-Datei geschrieben. Als Datentyp eignet sich das vorhandene Windows.Foundation.Metadata.Platform-Enum, das aktuell die beiden Werte Windows und WindowsPhone beinhaltet. Der Support für die Xbox One soll laut Microsoft demnächst folgen. Aus der Get-Logik folgen zwei unterschiedliche Return-Werte, die anhand der #if-Direktive an Gültigkeit gewinnen:

public sealed partial class App : Application
{
  public static Windows.Foundation.Metadata.Platform GetPlatform
  {
    get
    {
    #if WINDOWS_APP
      return Windows.Foundation.Metadata.Platform.Windows;
    #elif WINDOWS_PHONE_APP
      return Windows.Foundation.Metadata.Platform.WindowsPhone;
    #endif
    }
  }
} 

Die Funktion wird nun applikationsweit bereitgestellt und ist einfach zu benutzen:

if (App.GetPlatform == Platform.Windows)
{
  ...
}
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -