2013-08-13 4 views

Antwort

3
if((Visibility)App.Current.Resources["PhoneDarkThemeVisibility"]) 
... 
else 
... 
+0

@YaroslavShabanov, wenn dies Ihre Frage bitte Häkchen beantwortet. –

0
// Detecting the current theme. 

    private static Color lightThemeBackground = Color.FromArgb(255, 255, 255, 255); 
private static Color darkThemeBackground = Color.FromArgb(255, 0, 0, 0); 
rivate static SolidColorBrush backgroundBrush; 

internal static AppTheme CurrentTheme 
    { 
     get 
     { 
      if (backgroundBrush == null) 
       backgroundBrush = Application.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush; 

      if (backgroundBrush.Color == lightThemeBackground) 
       return AppTheme.Light; 
      else if (backgroundBrush.Color == darkThemeBackground) 
       return AppTheme.Dark; 

      return AppTheme.Dark; 
     } 
    } 
6

Sie möchten Ihre Antwort im official MSDN page für Theme auf Windows Phone finden.

Im Teil "Bestimmung Theme Hintergrund", die angeben:

// Determine the visibility of the dark background. 
Visibility darkBackgroundVisibility = 
    (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"]; 

// Write the theme background value. 
if (darkBackgroundVisibility == Visibility.Visible) 
{ 
    textBlock1.Text = "background = dark"; 
} 
else 
{ 
    textBlock1.Text = "background = light"; 
} 

Auch in dieser Seite können Sie einen Teil auf dem "Thema Akzentfarbe" haben. Um die zwei vom Benutzer definierten Hauptfarben wiederherzustellen (Hintergrund und Akzentfarbe).

1

Ich finde die einfachste Ansatz das Thema zu bestimmen, zu verwenden ist:

public bool darkTheme = ((Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] == Visibility.Visible); 

ist darkTheme wahr ist, für Licht das gewählte Thema ist dunkel, und falsche dann.

Dann in welchem ​​Verfahren verwendet, nur eine einfache if Aussage wie:

if (darkTheme == true) 
{ 
    //Do some stuff related to dark theme 
} 

else 
{ 
    //Do some stuff related to light theme 
} 
+0

warum nicht nur tun, wenn (DarkTheme)? –

+0

Yeah du könntest, entweder funktioniert. – Newbie

+0

Stimmt, entweder arbeiten, aber man ist die Art, wie Profis es tun und die andere ist die Art, wie Newbies es tun lol. –

Verwandte Themen