segunda-feira, 28 de dezembro de 2020

Wpf/Xaml single page app

Neste post vamos ver como criar uma aplicação com uma única janela. 
A aplicação terá várias páginas e é baseada na tecnologia WPF/XAML utilizando a linguagem de programação C#.
Começamos por criar o projeto no Visual Studio escolhendo este tipo de aplicação: 




De seguida abrimos a Main Window e definimos a estrutura da interface. 




Do lado esquerdo colocamos um menu e do lado direito fica o elemento DockPanel com uma Frame



A Frame é o elemento que será utilizado para mostrar o conteúdo das páginas. 

Agora podemos criar as páginas. Neste exemplo criamos duas. 
Clicando com o botão direito no Solution Explorer, escolhemos Add e depois Page.

Repetimos o processo e o projeto agora tem a MainWindow, a Page1 e a Page2.

Nas páginas criadas colocamos o conteúdo a apresentar. Como isto é só um exemplo vou alterar a cor de fundo e colocar um pequeno texto.
A Page1

A Page2

Por fim vamos fazer o código. De volta à MainWindow temos de criar os eventos nos items do menu. Assim, na linha do MenuItem acrescentamos o evento click e escolhemos New Event Handler:


Se a opção não aparecer tente com CTRL+ESPAÇO.
O Visual Studio gerou a função, agora basta premir F7.
Dentro de cada evento/função basta acrescentar esta linha de código

Com este código estamos a atribuir como conteúdo da Frame a respetiva página.
E pronto, agora é só testar.

O projeto está aqui.