[Desenvolvimento] Como trocar a cor, ativar o progress indicator e esconder o System Tray via C#

0

system-trayOlá pessoal, tudo bom?   Todos sabemos que para o Windows Phone, o System Tray é aquela área do sistema dedicada a mostrar o horário, nível da bateria, sinal de rede wifi, sinal 3G, 4G, etc.

O que nem todos devem saber é que via C# podemos manipular o System Tray do Windows Phone e nele habilitar um indicador de progressão, trocar a cor do fundo e da fonte, ou mesmo retirá-lo para que tenhamos mais espaço disponível para o conteúdo de nossa APP.

Desse modo, resolvi escrever esse post para sanar a dúvida de um leitor e também para compartilhar a informação com todos. Vamos ao exemplo:

1) Em primeiro lugar, demonstro o código XAML para montar a interface da APP de exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
...
 
 
 
 
 
<!--ContentPanel - place additional content here-->
 
  <button name="btnTrocarCor"></button>
 
 
 
...

system-tray-interface

2) Na sequencia, vamos à codificação C# para de fato manipularmos o System Tray:

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
...
//Trocando a cor do System tray
private void btnTrocarCor_Click(object sender, RoutedEventArgs e)
{
  SystemTray.SetBackgroundColor(this, Colors.Blue);
  SystemTray.SetForegroundColor(this, Colors.White);
}
 
//Ativando o Progress Indicator
private void ckbAtivarProgress_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
  ProgressIndicator progress = new ProgressIndicator();
  progress.Text = "Aguarde...";
  progress.IsVisible = (bool)ckbAtivarProgress.IsChecked;
  progress.IsIndeterminate = (bool)ckbAtivarProgress.IsChecked;
 
  SystemTray.SetProgressIndicator(this, progress);
}
 
//Escondendo ou mostrando o System tray
private void ckbEsconderSystemTray_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
  SystemTray.IsVisible = !(bool)ckbEsconderSystemTray.IsChecked;
}
...

system-tray-resultado

Espero que essa informação o ajude a escrever APPs com mais recursos para o usuário.

Abraços,

Eduardo Henrique Rizo (@eduardorizo)

MCP

Post Relacionado: 

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.