Olá, tudo bom?
No Windows Phone, as opções de menu localizadas na parte inferior da tela do dispositivo são inseridas no arquivo .XAML sob uma área denominada ApplicationBar e nela, podem ser criados como ApplicationBarIconButton ou como ApplicationBarMenuItem, para entendimento, observe o trecho de código e a figura abaixo:
...
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" >
<shell:ApplicationBarIconButton IconUri="/Imagens/appbar.back.rest.png" Text="Voltar" Click="ApplicationBarIconButtonVoltar_Click" />
<shell:ApplicationBarIconButton IconUri="/Imagens/appbar.save.rest.png" Text="Gravar" Click="ApplicationBarIconButtonGravar_Click" />
<shell:ApplicationBarIconButton IconUri="/Imagens/appbar.folder.rest.png" Text="Arquivo" Click="ApplicationBarIconButtonArquivo_Click" />
<shell:ApplicationBarIconButton IconUri="/Imagens/appbar.questionmark.rest.png" Text="Exemplos" Click="ApplicationBarIconButtonExample_Click" />
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="Excluir registro" Click="ApplicationBarMenuItem_Click" />
<shell:ApplicationBarMenuItem Text="Enviar por e-mail" Click="ApplicationBarMenuItem_Click_1"/>
<shell:ApplicationBarMenuItem Text="Enviar por SMS" Click="ApplicationBarMenuItem_Click_2" />
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
...
No exemplo, o quadro em amarelo representa toda a área da ApplicationBar, sendo que o quadro vermelho representa os ícones da ApplicationBarIconButton e a parte em verde representa os itens da ApplicationBarMenuItem.
Não é obrigatório que você utilize itens para a ApplicationBarIconButton e também para a ApplicationBarMenuItem, ou seja, você pode escolher um ou outro dependendo de sua necessidade para a aplicação.
Como habilitar ou desabilitar as opções via C# (code behind)?
O trecho de código abaixo demonstra como habilitar ou desabilitar esses recursos a partir do código em C#
private void HabilitarBotaoGravar()
{
//Nesse caso estamos habilitando o 2º ícone da ApplicationBarIconButton
ApplicationBarIconButton iconGravar = (ApplicationBarIconButton)ApplicationBar.Buttons[1];
iconGravar.IsEnabled = true;
}
private void DesabilitarBotaoGravar()
{
//Nesse caso estamos desabilitando o 2º ícone da ApplicationBarIconButton
ApplicationBarIconButton iconGravar = (ApplicationBarIconButton)ApplicationBar.Buttons[1];
iconGravar.IsEnabled = false;
}
private void HabilitarBotaoExcluir()
{
//Nesse caso estamos habilitando a 1ª opção da ApplicationBarMenuItem
ApplicationBarMenuItem iconExcluir = (ApplicationBarMenuItem)ApplicationBar.MenuItems[0];
iconExcluir.IsEnabled = true;
}
private void DesabilitarBotaoExcluir()
{
//Nesse caso estamos desabilitando a 1ª opção da ApplicationBarMenuItem
ApplicationBarMenuItem iconExcluir = (ApplicationBarMenuItem)ApplicationBar.MenuItems[0];
iconExcluir.IsEnabled = false;
}
Bem, é isso!
Espero que aproveitem a dica acima para melhorar ainda mais suas aplicações para Windows Phone.
Grande abraço,
Eduardo Henrique Rizo (@eduardorizo)
Fonte: Blog do Eduardo H. Rizo
Comentários