Curso Windows Phone – Como trocar a cor, ativar o progress indicator e esconder o System Tray via C#

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:

...
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
 <TextBlock Text="BLOG DO EDUARDO H. RIZO" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
 <TextBlock Text="system tray" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>

<!--ContentPanel - place additional content here-->
<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
 <Button Name="btnTrocarCor" Content="Trocar cor do system tray" Click="btnTrocarCor_Click" />
 <CheckBox Name="ckbAtivarProgress" Content="Ativar o system tray progress indicator" Tap="ckbAtivarProgress_Tap" />
 <CheckBox Name="ckbEsconderSystemTray" Content="Esconder o system tray" Tap="ckbEsconderSystemTray_Tap" />
</StackPanel>
...

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

MCP

Post Relacionado: 

[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]

2 comentários em “Curso Windows Phone – Como trocar a cor, ativar o progress indicator e esconder o System Tray via C#”

  1. Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo

  2. Pingback: [Desenvolvimento] Como trocar a cor, ativar o progress indicator e esconder o System Tray via C# - Peguei do

Deixe um comentário