2017-06-16 4 views
-1

Ich entwickle eine UWP-App, und ich verwende Vorlage 10. Ich habe ein schwarzes Bild und ein weißes Bild. Ich möchte, wenn der Benutzer dunkles Thema wählen, zeigen die Weiß-Bild, und wenn der Benutzer Licht Thema das schwarze Bild, exemple zeigen wählen:Bild je nach Anwendung Thema anzeigen

if(dark theme) 
{ 
    white image; 
} 
else  
{ 
    black image; 
} 
+0

Ich denke nicht, es ist eine Frage. Ich denke, dass Sie die Dokumente lesen können: https: //docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/xaml-theme-resources – lindexi

+0

funktioniert [this] (https://stackoverflow.com/a/44600513/7331395) funktioniert die Antwort? –

Antwort

0

Sie können aktuelle RequestedTheme bekommen this.RequestedTheme verwenden und es dann vergleichen mit ElementTheme.Light oder ElementTheme.Dark

Methode 1

if (this.RequestedTheme == ElementTheme.Light) 
    BackgroundImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/BlackImage.png")); 
else 
    BackgroundImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/WhiteImage.png")); 

Methode 2

BackgroundImage.Source = (this.RequestedTheme == ElementTheme.Light)? new BitmapImage(new Uri("ms-appx:///Assets/BlackImage.png")): new BitmapImage(new Uri("ms-appx:///Assets/WhiteImage.png")); 
+0

Sie können auch "ElementTheme.Default" berücksichtigen. – Clemens

+0

@Clemens Wie können wir das Thema identifizieren, wenn der Benutzer das Standardthema verwendet? Außerdem kann das Standarddesign zur Laufzeit geändert werden. –

+0

Keine Ahnung, ich habe gerade gesehen, dass, wenn ich meine Test-App starte, das RequestedTheme ElementTheme.Default ist. Die App sollte wahrscheinlich eine Idee haben, was das Standardthema ist. – Clemens

Verwandte Themen