2013-08-13 13 views

risposta

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

@YaroslavShabanov se questo risposto alla tua domanda si prega di segno di spunta. –

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

si desidera trovare la risposta nella official MSDN page per Theme su Windows Phone.

Nella parte "Determinazione sfondo a tema" che indicano:

// 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"; 
} 

Inoltre, in questa pagina, hai una parte sul "colore accento tema". Per recuperare i due colori principali definiti dall'utente (sfondo e colore accento).

1

Trovo l'approccio più semplice per determinare il tema è quello di utilizzare:

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

è darkTheme è vero allora il tema selezionato è buio, e falso per la luce.

Poi in qualsiasi procedimento basta usare un semplice if dichiarazione, come ad esempio:

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

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

perché non farlo solo se (darkTheme)? –

+0

Sì, si potrebbe, o funziona. – Newbie

+0

Vero, o funziona, ma uno è il modo in cui i professionisti lo fanno e l'altro è il modo in cui Newbies lo fa lol. –

Problemi correlati