Loading
PauloHDSousa - Desenvolvedor, Leitor e jogador: Melhorando a UI de sua aplicação WPF

domingo, 29 de janeiro de 2012

Melhorando a UI de sua aplicação WPF



Melhorando a UI de sua aplicação WPF

Dos dois truques que irei mostrar para o controle Button, um já é bem conhecido por programadores de todas as linguagens, apenas irei mostrar como implementar nas suas aplicações WPF.


Os outros são novidades 


O outro é novo e muito útil, economiza linhas de código.

Atualmente estou traduzindo a biblioteca de WPF na MSDN.


Esses truques eu aprendi conforme fui lendo o livro MCTS Self-Paced Training Kit (Exam 70-511)

Vamos lá.

Controle Button


Access Key

Adicione esse códigou no se XAML 



<Button HorizontalAlignment="Center" VerticalAlignment="Center" Name="MyFirstButton" >
_This is Sparta
</Button>
E no evento clique adicione

 
MessageBox.Show("Madness? This Is Sparta!");
       

Rode o projeto e aperte ALT+T


Você acaba de aprender como se usa Access Keys em aplicações WPF


Observações importantes, caso exista Access Key duplicada.


Elas vão ficar alternando entre si e não irão chamar o Evento Click



Evento Click com ENTER e ESC

Vou falar sobre uma propriedade dos Botões em WPF, eles tem 2 propriedades bem legais que são
  • IsDefault
  • IsCancel

Elas são do tipo Booleana e funcionam da seguinte maneira

IsDefault = True :  Quando está propriedade estiver TRUE o evento Clique do botão vai ser chamado quando alguém apertar ENTER dento da janela, sem ser necessário ter foco no botão

IsCancel = True : Quando está propriedade estiver TRUE   o evento Clique do botão vai ser chamado quando alguém apertar ESC dento da janela, sem ser necessário ter foco no botão.

Adicione um novo botão na sua aplicação

<Button HorizontalAlignment="Center" VerticalAlignment="Bottom" Name="MyFirstButton2"  IsCancel="True">
 _Madness
 </Button>


e no evento Click  deste botão adicione

MessageBox.Show("This Is Madness!");

No outro botão que já estava criado apenas adicione no código XAML 

IsDefault="True" 

Agora, rode a aplicação aperte ESC e ENTER.

ou Aperte ALT + M e ALT + T
ContoleLabel

BindingSource alterando Focus


Vamos adicionar 

1 TextBox
1 Label


<Label Target="{Binding ElementName=MyTextWithoutClick}" HorizontalAlignment="Center" VerticalAlignment="Top" >_System of a Down</Label>
        
         <TextBox Name="MyTextWithoutClick" Width="50" Height="50" VerticalAlignment="Center" HorizontalAlignment="Right"></TextBox>



Não sabe como funciona o DataBinding?

Clique aqui

Execute o projeto e Aperte ALT + S

O Foco foi diretamente para o TextBox (:

Chamamos o Access Key do LABEL e o Foco dele foi diretamente para o Text (:

Bem, por hoje é só (: