[Desenvolvimento] Como obter o tema atual do Windows Phone via C#

4

backgroundWPOlá 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
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 (@eduardorizo)

Fonte: Blog do Eduardo H. Rizo

Share.

About Author

Bacharel em Ciência da Computação pela FIPP/Unoeste, Pós-Graduado em Desenvolvimento de Sistemas Web, Segurança da Informação e Avaliação do Ensino e da Aprendizagem, Professor universitário e responsável pelo setor de desenvolvimento de sistemas web da Universidade do Oeste Paulista. MCP e MCPS pela Microsoft e nas horas vagas dedica um pouco do seu tempo escrevendo posts técnicos sobre desenvolvimento de sistemas web, windows phone, gerenciamento de servidores e outros assuntos para a comunidade.

  • Gabriel Souza

    Eu tentei agora e isso enche de erros meu app que peguei do app studio. Será incompatibilidade?

  • Daniel

    Me desculpem sou iniciante aqui no blog e não entendi como faço.
    Crio uma nota em algum aplicativo e salvo, é isso ?

  • Lucas Nicoletto

    Gostaria de saber como eu faço um leitor de Feed para Windows Phone.

    Obrigado

  • Eron Iury

    Muito prático, rápido e fácil!