2010-09-27 11 views

Respuesta

10

Hay una propiedad para probar esto, en lugar de que la comparación de los recursos reales color.

Visibility v = (Visibility)Resources["PhoneLightThemeVisibility"]; 

if (v == System.Windows.Visibility.Visible) 
{ 
    // Is light theme 
} 
else 
{ 
    // Is dark theme 
} 
+0

OK, supongo que eso funciona. Compartí las preocupaciones de los demás sobre el hilo vinculado sobre qué hacer cuando/si aparecen nuevos temas. Pero creo que esto estará bien para el próximo lanzamiento ... – will

+0

Preocuparse por cosas que ni siquiera se rumorea aún (como otros temas) no es probable que sea productivo. Un nuevo tema probablemente causaría muchos problemas para todos creando una aplicación que utiliza el tema. Preocúpese si y cuando se anuncia. (No creo que haya, al menos no hasta WP8) –

0

Si tiene la intención de detectar el tema en el código, entonces aquí es una solución -

var backColor = Resources["PhoneBackgroundColor"]; 
if (backColor.ToString() == "#FF000000") 
    // Dark theme selected => do something 
else 
    // Light theme selected => do something 

HTH, indyfromoz

+0

Esto estaba bien antes, pero la RTM introdujo el recurso 'PhoneLightThemeVisibility'. –

Cuestiones relacionadas