Pplware

Tutorial C# – O que é o WPF (Windows Presentation Foundation)

No último tutorial de C#, o nosso caro leitor Shogun deixou uma sugestão de em vez de usar as tão comuns Windows Forms, usar também o WPF. Para ser sincero, nunca tinha utilizado WPF, mas como fiquei curioso fui à procura de mais informações. O que encontrei foi fantástico, e como tinha prometido aqui vai um pequeno tutorial/introdução sobre WPF. wpf000

O que é o WPF?

O Windows Presentation Foundation é um componente do Microsoft .NET Framework 3.5. É considerado a próxima geração de UI (User Interface), que permite a criação de aplicações com um grau de personalização extremamente elevado, criando assim uma experiência única ao utilizador.

O WPF suporta intefaces de aplicação, gráficos 2D e 3D, documentos, aceleração de hardware, gráficos vectoriais,visualização de dados interactivos e multimédia numa única estrutura (framework).

O motor do vector utiliza a aceleração de hardware das novas placas gráficas, permitindo assim tornar a interface mais rápida, escalável e com resolução independente.

Separação entre a aparência e comportamento

O WPF separa a aparência da interface do utilizador do comportamento.

A aparência no WPF é criado geralmente no XAML (Extensible Application Markup Language), o desempenho/comportamento é implementado numa linguagem de programação, como por exemplo o C#.

As duas partes estão ligadas entre di pelos eventos de ligação a dados e comandos.

A separação da aparência e comportamento tem as seguintes vantagens:

– Personalização dos modelos e das aplicações – As ferramentas de design gráfico podem trabalhar em documentos XML “simples” em vez de ter de analisar o código.

Extremamente personalizável

Devido à separação da aparência do comportamento, é extremamente simples alterar a aparência de um botão por exemplo.

O conceito de estilos permite ter um controlo da aparência idêntico ao CSS.

O exemplo seguinte mostra o quanto personalizável é a aparência.

Interface sem dependência da resolução

Todas as medidas em WPF são unidades lógicas – não pixeis. Uma unidade lógica é um 1 / 96 de polegada. Se aumentar a resolução do ecrã, a interface do utilizador fica do mesmo tamanho – se só fica mais nítida. Com o WPF a interface “acompanha” o aumento da resolução.

O que é o XAML (Extensible Application Markup Language)? O XAML é baseado no XML para criar e iniciar objectos .NET com relações hierárquicas.

Apesar de ter sido inventado originalmente para o WPF é também usado para criar qualquer tipo de “árvores” de objecto.

Agora o XAML é usado para criar interfaces de utilizador do WPF, Silverlight e também para o papel electrónico do padrão XPS.

Nota: Definição de XPS – “XML Paper Specification (XPS), é um formato de arquivo desenvolvido pela Microsoft para representar documentos portáteis, visando facilitar a distribuição de documentos entre aplicativos, sistemas operacionais e periféricos como impressoras e scanners. Diferente dos documentos de papel, documentos XPS oferecem uma conveniente alternativa para leitura, impressão, transferência e estocagem.” Fonte: Wikipédia

Principais vantagens do XMAL

Tudo o que é criado no XAML também pode ser feito no código. XAML é apenas uma outra maneira de criar e inicializar objectos. Podemos usar WPF sem usar o XAML.

• Código XAML é curto e fácil de ler • Separação do código de designer e lógica • Ferramentas de design gráfico como o Expression Blend exigir XAML como fonte. • A separação de XAML e lógica da interface do utilizador permite a clara separação dos papéis de designer e programador.

O designer pode criar toda a componente gráfica, e o programador a parte do código.

XAML vs Código Um pequeno exemplo. Usar um StackPanel simples com um TextBlock e um botão no XAML.

Agora o mesmo “efeito” mas em código C#

E agora, como fica na interface.

Por este pequeno exemplo podem verificar as vantagens do XAML. E agora passemos a um pequeno exemplo de um botão personalizado com gradiente.

O código em XAML será:

O aspecto final (um botão simples com gradiente criado com XAML):

Como podem verificar o código é muito parecido com HTML ou mesmo ASP. Devido ao interface ser extremamente personalizável, no WPF a “união” entre design gráfico e programador pode ser indispensável.

Como disse anteriomente, nunca utilizei o WPF, por isso também isto é novo para mim, mas fiquei impressionado pelas vantagens que o WPF pode trazer para uma interface mais agradável e personalizada.

Quem tiver mais curiosidade sobre o WPF pode visitar as seguintes páginas:

Fontes:

Exit mobile version