Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Já publiquei outros artigos sobre o Windows Presentation Foundation - WPF, e uma grande parte sobre os recursos do DataBinding. Neste artigo, veremos como criar um menu em tempo de execução em uma aplicação WPF.
Você pode criar aplicações WPF usando as seguintes ferramentas:
-
Visual Studio 2010 (pode baixar uma versão trial)
-
Visual C# 2010 Express Edition (grátis)
-
Visual Basic 2010 Express Edition (grátis)
-
SharpDevelop 4.0 (grátis)
Pela sua simplicidade o projeto poderá ser aberto em qualquer uma das versões citadas. A linguagem escolhida poderia ser C# ou VB .NET, pois o código também é bem simples, mas usaremos o SharpDevelop justamente para mostrar que podemos usar o recurso de converter o código para C# ou VB .NET.
Agora abra o SharpDevelop 4.0 e no menu File selecione New -> Solution:
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35202.gif&key=a7a59925242c543a3008ab796c17a47c057d41f670991ef13c8333bc4090ff6c" alt="35202.gif" />
Na janela New Project , observe as opções oferecidas. Vamos selecionar a linguagem C# e o item WPF e em Templates selecionar WPF Application. Em seguida, vamos informar o nome WPF_Menu_c e clicar no botão Create.
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35204.gif&key=a7c0ec36c2830f9214c783c589c08d1057365d3801141e4c90f2967e6fb5a9aa" alt="35204.gif" />
Será criada a solução, e em uma das suas visões, selecionando a aba Projects veremos a estrutura da solução. Selecionando a guia Source, veremos a janela Window1.xam.
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35214.gif&key=cfedce26b4c25c10b3795844728b86e2cde3f84f38949d7e62ab298072177515" alt="35214.gif" />
Agora clique sobre o arquivo Window1.xaml.cs para ver o código:
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35216.gif&key=e34a1f31057a2a97cacf5a552c312bf92dcdc9a3136637c76c358aec2809b466" alt="35216.gif" />
Vamos incluir a rotina criarMenu(), depois definir o seu código para criar um menu Arquivo com duas opções: Abrir e Sair.
private void criarMenu()
{
// cria o menu principal.
Menu mainMenu = new Menu();
contentGrid.Children.Add(mainMenu);
mainMenu.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
mainMenu.VerticalAlignment = System.Windows.VerticalAlignment.Top;
// Cria o menu de Arquivo
MenuItem fileMenuItem = new MenuItem();
fileMenuItem.Header = "_Arquivo";
mainMenu.Items.Add(fileMenuItem);
// Cria os itens do menu Arquivo: Abrir
MenuItem openMenuItem = new MenuItem();
fileMenuItem.Items.Add(openMenuItem);
openMenuItem.Header = "_Abrir";
openMenuItem.Click += openMenuItem_Click;
ToolTip openToolTip = new ToolTip();
openMenuItem.ToolTip = openToolTip;
openToolTip.Content ="Abrir um novo Arquivo";
//cria o item Sair
MenuItem exitMenuItem = new MenuItem();
fileMenuItem.Items.Add(exitMenuItem);
exitMenuItem.Header = "S_air";
exitMenuItem.Click += exitMenuItem_Click;
ToolTip exitToolTip = new ToolTip();
exitMenuItem.ToolTip = exitToolTip;
exitToolTip.Content = "Encerrar";
}
private void openMenuItem_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Abrir um novo arquivo");
}
private void exitMenuItem_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Até logo!");
this.Close();
}
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35218.gif&key=b2050a34da51bb16cb9b5a1215f89000f2b0b2fe627db1435b983bb283e71029" alt="35218.gif" />
Agora é só alegria! Executando o projeto iremos obter:
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35220.gif&key=3a2e076b3b84d4ad9a241b0b17cea063ac035bdc84e980e7f408c6ca672943d8" alt="35220.gif" />
Simples né?
Agora vamos converter o código do projeto que foi feito na linguagem C# para a linguagem VB .NET. Selecione o arquivo Window1.xaml.cs e no menu Project selecione Convert -> From C# to VB .NET.
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35222.gif&key=09c41c9de8be78448539cb1894ea4005b2843c9dcd469c4a25c90191f4604214" alt="35222.gif" />
Será criado um novo projeto na solução, já convertido para a linguagem VB .NET conforme figura abaixo:
/applications/core/interface/imageproxy/imageproxy.php?img=http://conteudo.imasters.com.br/20395/35224.gif&key=73d69e6ca66a779488830fdd022f7fffcdb8d3ba6edb2e6db6bf757ad530a521" alt="35224.gif" />
Simples assim!
O projeto completo disponível aqui: WPF_Menu_c.zip
No próximo artigo veremos como criar menus em tempo de projeto! Eu sei, é apenas WPF, mas eu gosto!
http://imasters.com.br/artigo/20395/desenvolvimento/wpf-criando-um-menu-em-tempo-de-execucao
Carregando comentários...