WPF - Criando Menus em tempo de execução
Hoje veremos como criar menus em tempo de execução em uma aplicação WPF usando a linguagem VB .NET. |
A WPF (Windows Presentantion Fundation) é uma tecnologia que se propõe ser uma alternativa ao modelo Windows Forms, e, em se tratando de recursos a WPF vai além.
Quando você decide trabalhar com a WPF existem muitos conceitos básicos que você precisa conhecer para saber o que esta acontecendo por "trás dos panos".
Para criar aplicações WPF você pode usar qualquer versão do Visual Studio superior ao Visual Studio 2008 incluindo as versões Express e também o SharpDevelop a partir da versão 4.0. A linguagem usada pode ser o VB .NET como a linguagem C#.
De forma geral quando você começa a construir uma aplicação WPF você começa definindo a interface usando o editor XAML, mas nada impede que você inicie usando o código da linguagem escolhida, afinal, tudo o que você faz com o XAML você pode fazer também via Código.
Mas o que vem a
ser XAML ? XAML é uma linguagem de marcação baseada na linguagem XML para especificação e definição de características de classes. XAML é utilizado principalmente para a especificação de aspectos estáticos e visual da interface do usuário através da definição propriedades de objetos da classe
|
Neste artigo vou mostrar como criar menus em tempo de execução via código VB .NET.
Recursos usados :
Criando a solução no VS 2013 Express Edition
Abra o VS 2013 Express for Windows desktop e clique em New Project;
A seguir selecione Visual Basic -> WPF Application;
Informe o nome Wpf_Menus e clique no botão OK;
No arquivo MainWindow.xaml do projeto vamos incluir um controle Button a partir da ToolBox e definir o código XAML conforme abaixo:
Código XAML |
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Menus" Height="350" Width="525">
<Grid Background="LightGreen" Name="grdConteudo">
<Button x:Name="btnCriarMenus" Content="Criar Menus" HorizontalAlignment="Left" Margin="210,120,0,0" VerticalAlignment="Top" Width="132" Height="47"/>
</Grid>
</Window>
|
Agora no evento Click do controle Button - btnCriarMenus- inclua o código abaixo:
Private Sub btnCriarMenus_Click(sender As Object, e As RoutedEventArgs) Handles btnCriarMenus.Click
' cria o menu prinicipal
Dim menuPrincipal As New Menu()
grdConteudo.Children.Add(menuPrincipal)
menuPrincipal.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch
menuPrincipal.VerticalAlignment = System.Windows.VerticalAlignment.Top
' Cria o menu Arquivo
Dim arquivoMenuItem As New MenuItem()
arquivoMenuItem.Header = "_Arquivo"
menuPrincipal.Items.Add(arquivoMenuItem)
' Cria o item do menu Arquivo
Dim abrirMenuItem As New MenuItem()
arquivoMenuItem.Items.Add(abrirMenuItem)
abrirMenuItem.Header = "_Abrir"
AddHandler abrirMenuItem.Click, AddressOf abrirMenuItem_Click
' Inclui um tooltip ao item Abrir
Dim abrirToolTip As New ToolTip()
abrirMenuItem.ToolTip = abrirToolTip
abrirToolTip.Content = "Abir Novo Arquivo"
' Cria o item Sair do menu Arquivo
Dim sairMenuItem As New MenuItem()
arquivoMenuItem.Items.Add(sairMenuItem)
sairMenuItem.Header = "_Sair"
AddHandler sairMenuItem.Click, AddressOf sairMenuItem_Click
' Inclui uma tooltip ao item Sair
Dim sairToolTip As New ToolTip()
sairMenuItem.ToolTip = sairToolTip
sairToolTip.Content = "Encerrar o programa"
End Sub
|
Agora vamos definir o código para tratar os eventos Click nos itens do menu. Para isso criamos as rotinas abrirMenuItem_Click e sairMenuItem_Click com o código a seguir:
Private Sub abrirMenuItem_Click(sender As Object, e As RoutedEventArgs) MessageBox.Show("Abir um novo arquivo...") End Sub Private Sub sairMenuItem_Click(sender As Object, e As RoutedEventArgs)
MessageBox.Show("Hasta la vista...!")
Me.Close()
End Sub
|
Agora executando o projeto teremos a janela exibida conforme a figura abaixo:
A seguir clicando no botão - Criar Menus - iremos obter o seguinte resultado:
Pegue o projeto completo aqui : Wpf_Menus.zip
Eu sou a videira verdadeira, e meu Pai é o
lavrador.
Toda a vara em mim, que não dá fruto, a tira; e limpa toda aquela que dá fruto,
para que dê mais fruto.
João 15:1,2
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências: