Falando sobre WPF (WINDOWS PRESENTATION FUNDATION)

Publicado: 4 de março de 2008 em Uncategorized

 

Bem galera  já chegamos ao mês de Março mas ainda estamos descobrindo o que há de novidade para nós do mundo da TI em especial na aréa de desenvolvimento.

Temos muitas novidades com o pacote Microsoft 2008, algumas delas não são desconhecidas para nenhum de nós, mas também não deixam de ser novidades, tem ai tecnologias que precisam ser pelo menos conhecidas por cada um de nós com o intuito de nos mantermos atualizados.

Dentro dessa categoria temos ai o AJAX, LINQ, WCF, WPF e o próprio C# 3.0. Então vamos conhecer cada uma das tecnologias e implementos aqui no blog.

Vamos começar por algo que alguns dos meus companheiros de célula gostam muito e que acredito que você também terá interesse partir de agora. Vamos apresentar o WPF(WINDOWS PRESENTATION FUNDATION) que está disponivel apartir do .NET 3.0.

Esta tecnologia é nativa no Windows Vista, e está disponível como um download separado para a sua utilização no Windows XP.

O WPF apareceu em 2001 com o codinome “Avalon”, como a nova tecnologia de apresentação do Windows Vista. Suas principais características são:

• Flexibilidade da interface, que pode ser independente do código: podemos ter duas apresentações completamente diferentes compartilhando o mesmo comportamento;

• Incorpora todas as funções do .NET 2.0, acrescentando às interfaces novos recursos como 3D, animações, gráficos vetoriais, reconhecimento de voz, layouts avançados, entre outros;

• Leva para o desktop o conceito já existente na Web de separação entre o design e o código, permitindo que a interface seja criada por um designer e o código por um programador especializado, de maneira independente;

• Usa os recursos do sistema operacional, de maneira a otimizar a performance da interface para o hardware do usuário;

• Os controles podem ser personalizados a qualquer nível que se queira, por exemplo, podemos criar um botão não retangular que contém uma animação 3D, sem a necessidade de escrever código para isso.

• é independente de plataforma; o mesmo código-fonte funciona tanto na web quanto para desktop e, no futuro poderá ser distribuído até em sistemas como Mac, Linux e celulares, usando o WPF/E (WPF Everywhere, que está em desenvolvimento).

Um programa que usa WPF é normalmente composto por duas partes: um arquivo XML com características especiais chamado XAML (eXtended Aplication Markup Language, pronuncia-se “zémel”), e um código para .NET (que pode ser escrito em qualquer linguagem compatível, VB.net, C#, etc). O arquivo XAML contém as diretrizes de interface, podendo ser comparado ao XHTML em relação ao ASP.NET.

A Figura abaixo mostra o Microsoft Expression Interactive Designer, ferramenta para criação de programas WPF, com um arquivo XAML carregado.

WPF clip_image002 
         Microsoft Expression Interactive Designer com arquivo XAML aberto

Todo arquivo XAML tem algumas características:

• Ele deve ter um controle “root”, que é um controle raiz que contém todos os outros. Só é permitido um “root” em cada arquivo XAML. No exemplo da figura, o “root” é a grid.

• Ele está ligado a uma classe no código, indicado na propriedade “ x:Class” do elemento root. No nosso exemplo, o arquivo XAML está ligado à classe HelloWorld.Scene1

• Os elementos são definidos usando tags (< > e < / >). O nível de parentesco é dado pelo encadeamento das tags.

Por exemplo:

<grid> 
<label/> 
<button/> 
</grid> 

Indica que o label e o button estão contidos na grid. No exemplo da figura, vemos que o elemento RichText está incluído na grid.

• Os elementos podem conter atributos especificados de duas maneiras:

• Na tag do elemento, utilizando a sintaxe (as aspas são obrigatórias)

<elemento atributo=“valor”> 

• Como sub-elemento do elemento principal:

<elemento>
<atributo> 
Conteúdo 
</atributo> 
</elemento> 

A segunda maneira, embora mais complicada, é mais flexível e possibilita maior customização dos elementos. Veja abaixo um exemplo comparando as duas maneiras:

• <Label x:Name="Label" Content="Alô, Mundo"/>

•  <Label x:Name="Label"> 
<Label.Content> 
  Alô, Mundo 
</Label.Content> 
</Label> 

Como pudemos ver, cada XAML referencia uma classe de código que pode definir seu comportamento, de forma análoga ao code-behind do ASP.net. Este código encontra-se em um arquivo .vb ou .cs, dependendo da linguagem utilizada. Podemos alterar os atributos dos elementos usando código de programação, da mesma maneira que fazemos usualmente. Por exemplo, esse código .NET muda o conteúdo do label que colocamos na janela:

public Scene1()

{

this.InitializeComponent();

// Muda o conteúdo do label

Label.Content = "Nome mudado";

}

Note que o label é referenciado por sua propriedade x:Name, que no caso é Label .

 

Instalação

Para instalar o WPF, é necessário uma máquina com Windows XP SP2, Windows 2003 Server ou Windows Vista. Inicialmente, devemos instalar o Framework .NET 3.0. Ele pode ser instalado concomitantemente com as versões 2.0 e 1.1 do Framework, não havendo conflitos.

A versão disponível quando o artigo foi escrito era o July 2006 CTP, que pode ser baixado em http://www.microsoft.com/downloads/details.aspx?FamilyId=62057A6F-185F-41DB-ABE5-678F6FC388F0&displaylang=en , mas qualquer versão mais nova deverá funcionar.

O Windows Vista já vem com o .NET 3.0 pré instalado, e a versão varia com a versão do sistema operacional. O Vista beta 2 (público) contém a versão May CTP 2006.

Para compilar programas .NET 3.0 você também precisará do Visual Studio 2005 ou uma versão Express Edition, ou ainda do MS Expression Interactive Designer. Este programa está em beta, e pode ser baixado gratuitamente em http://www.microsoft.com/products/expression/en/interactive_designer/id_free_trial.aspx . Note que, para usar o Expression Interactive Designer no Windows Vista beta 2 é necessário usar a versão May 2006. A versão July 2006 não funciona com o Vista beta.

Aqui vou postar no módulo de video uma apresentação muito boa que nos dá uma visão completa do que se pode fazer usando WPF.

Bem galera eu acho que é isso ai …. valeu e até a próxima !!!!

Deixe um comentário