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.
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ó (: