Olá pessoal, tudo bom?
Esse post foi escrito em resposta a uma pergunta feita através do blog, ou seja, foi questionado como obter via C# o tema atual que o usuário está utilizando no Windows Phone (Escuro ou Claro).
A resposta está logo abaixo:
1º passo: Adicione o trecho de código abaixo no arquivo App.xaml.cs de sua aplicação
Com esse código criamos uma propriedade pública expões o tema atual do telefone e poderá ser acessada a partir de quaisquer páginas da APP
... public enum AppTheme { Dark = 0, Light = 1 } private static Color lightThemeBackground = Color.FromArgb(255, 255, 255, 255); private static Color darkThemeBackgroud = Color.FromArgb(255, 0, 0, 0); private static SolidColorBrush backgroundBrush; internal static AppTheme CurrentTheme { get { if (backgroundBrush == null) backgroundBrush = Application.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush; if (backgroundBrush.Color == darkThemeBackgroud) return AppTheme.Dark; if (backgroundBrush.Color == lightThemeBackground) return AppTheme.Light; return AppTheme.Dark; } } ...
2º passo: Perguntar qual é o tema do telefone a partir de quaisquer páginas da APP
Veja o trecho de código adicionado, como exemplo, no construtor da classe Main.xaml.cs
... public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); //Verificando qual o tema atual do telefone... if (App.CurrentTheme == App.AppTheme.Dark) MessageBox.Show("Tema escuro..."); else MessageBox.Show("Tema claro..."); } } ...
Simples, não ?!
Grande abraço,
Eduardo Henrique Rizo
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Fonte externa: Windows Phone 7 Detect Current Theme
Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo