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:

...

  
  




  
  
  

...

system-tray-interface

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

...
//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