Olá pessoal. Tudo certo?!
Comecei essa série falando sobre as novidades do Windows 8 para desenvolvedores. Agora, é hora de botar as mãos na massa, ou melhor, no código.
Como já disse, podemos construir nossas interfaces usando XAML (com C#) ou HTML5 (com Javascript). Nesse post, faremos um “Hello World” usando XAML (com C#).
No momento em que escrevo este post, para desenvolver com Windows 8, precisamos de uma máquina rodando o sistema (pode ser virtual). Além disso, é necessário o Visual Studio 2012 (que está em RC).
Se você ainda não tem isso, pare agora e providencie.
Se você não mexeu, ainda, no ambiente Metro, recomendo que faça isso. Aproveite! Há conceitos bem bacanas que você precisa “experimentar” antes de escrever qualquer coisa.
No Visual Studio 2012, inicie um novo projeto. Irá perceber que há alguns templates de projeto para aplicações metro-style. Veja:
Para aplicações, no RC do VS2012, há três opções distintas. A mais simples delas, Blank App (XAML), será a que iremos utilizar hoje.
Recomendo que você crie projetos com os outros dois templates, antes de continuar, e execute. Para mim, foi uma experiência interessante. Divirta-se!
Projeto iniciado, hora de dar uma olhada no que o template carrega para nós. Vamos fazer um passeio breve no Solution Explorer.
Como pode ver, nada de muito novo aqui. Perceba:
Recomendo que abra os arquivos e examine seus conteúdos. Perceberá, por exemplo, que o Visual Studio tem alguns editores interessantes.
Acho XAML um formato incrível. Ele é super-flexível e pode ser utilizado para serializar qualquer coisa (foi usado com WPF, Silverlight e WF).
Tudo o que você aprendeu para programar com Silverlight e WPF continua valendo agora. Aliás, quando dizem que o SL/WPF morreu, não consigo deixar de pensar que, na verdade, apenas mudou de nome.
Abaixo, você pode ver a versão que escrevi (modifiquei, na verdade) para o exemplo de hoje:
<Page
x:Class="HelloWorldFromMetro.MainPage"
IsTabStop="false"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HelloWorldFromMetro"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<TextBlock Text="Hello Windows 8 Metro"
FontFamily="Arial"
FontSize="96"
FontStyle="Italic"
Foreground="Yellow"
HorizontalAlignment="Center"
VerticalAlignment="Center"
/>
</Grid>
</Page>
Vamos falar mais sobre XAML nos próximos posts. Por agora, penso que o código que escrevemos é intuitivo o suficiente.
Nosso XAML possui um code-behind. Veja:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; namespace HelloWorldFromMetro { public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); } protected override void OnNavigatedTo(NavigationEventArgs e) { } } }Perceba:
Se pressionar F5, verá que um tile para seu aplicativo será fixado na start screen do Windows e seu aplicativo será iniciado.
Você pode, se preferir, definir o target de execução para um simulador. Dessa forma, não afeta sua start screen.
Veja:
Recomendo, de verdade, que você brinque um pouco com o XAML. Adicione elementos e faça experiências. Se você sabe SL/WPF, tente usar o que você já sabe.
Penso que você só pode aprender a “codar”, “codando”. So, keep coding!
Era isso.
Ai Elemar, muito bom. Já vou iniciar no Windows 8 a partir deste post. Muito bom mesmo.
Parabéns, bem curto e didatico seus posts..até o TDC 2012 Floripa
Ola Amigo, sou iniciante em programação e estou aprendendo c#, então criar um pequeno app para windows store…Mas percebi que muitos codigos que uso em windowsforms não tem metro estilo, por exemplo o que estou tentando fazer em um textbox,….uso o evento keydown , para mudar a tecla “.” para “,” e o codigo keychar não exite…vc tem alguma dica para clarear o meu caminho?
Obrigado.
Perdão mas não consigo testar e funcionar , instalei o visual studio 12 , e não tem o ambiente metro , o que aconteceu ? me ajude
Provavelmente você não está usando Windows 8 em sua máquina de desenvolvimento. Também é um pré-requisito.