Beim Schreiben von gerätespezifischem XAML mithilfe von UWP können für jede Gerätefamilie unterschiedliche XAML-Ansichten erstellt werden. Zum Beispiel Track.DeviceFamily-Xbox.xaml
. Diese Seite verwendet das gleiche Back-End wie Track.xaml
, wird aber geladen, wenn die App auf Xbox verwendet wird.Laden der gerätespezifischen UI mit InitializeComponent()
Wir können auch eine URL an die InitializeComponent()
-Methode übergeben, um eine bestimmte xaml-Seite zu laden.
Jetzt frage ich mich, ob ich diese Methoden zusammen kombinieren kann. In diesem Beispiel möchte ich die Xbox-Benutzeroberfläche im Vollbildmodus laden. Der folgende Code wäre der ideale Weg, es zu tun, aber .. gut ich bin hier, so dass es nicht funktioniert :)
public Track()
{
// If the app is full screen, we can use the Xbox UI
if (App.IsFullScreen)
{
InitializeComponent(new Uri("ms-appx:///Views/Track.DeviceFamily-Xbox.xaml", UriKind.Absolute));
}
else
{
InitializeComponent();
}
// etc ...
}
Hat jemand irgendwelche Ideen, was ich tun kann? Gibt es eine Möglichkeit, die Xbox-spezifische Ansicht zu laden, oder sollte ich nur XAML-Ansicht erstellen, rufen Sie TrackXbox.xaml
, und behandeln Sie dann Laden dieser Ansicht, wenn der Benutzer Vollbild ist oder auf der Xbox ausgeführt wird?
Sorry für die Verzögerung, waren ziemlich beschäftigt. Ich bin nicht in der Lage, die Visual State-Methode leicht anzuwenden, da XAML für Xbox und PC sehr unterschiedlich ist. Aber danke für die Hilfe! –