Artigo do tipo Tutorial
Porque esse artigo é útil
Em WPF, templates são utilizados para determinar a estrutura de um controle. Eles determinam quais componentes fazem parte de um controle e como eles interagem para fornecer os recursos do mesmo. Ou seja, os templates permitem ao desenvolvedor alterar a forma como o controle é mostrado na tela ou como o mesmo mostra seus dados. Trata-se de um conceito muito útil na hora de personalizar as aplicações WPF.

A grande sacada da Microsoft no sentido de desenvolver aplicações com experiências de usuário mais ricas foi o desenvolvimento do Windows Presentation Foundation – o WPF. Trata-se de uma tecnologia muito interessante, que oferece uma completa separação entre a interface de usuário e a lógica de negócios, que é uma técnica que tem se difundido nos últimos tempos. Essa difusão ocorreu porque se trata de um padrão de projetos que torna muito mais simples a divisão de tarefas entre as equipes de desenvolvimento. Além disso, essa abordagem permite que cada atividade seja desenvolvido por um especialista, maximizando a performance e a qualidade da aplicação.

Para o desenvolvimento da interface, o WPF fornece uma série de ferramentas muito interessantes como Data Binding, Styles, Triggers e Templates, que são o foco desse artigo. Cada uma dessas ferramentas possui o seu escopo e, para cada situação, cabe ao desenvolvedor escolher o que melhor se encaixa. A diferença entre elas está na abordagem. Os Styles são responsáveis pela determinação da aparência dos controles. A tecnologia de Data Binding é responsável por associar os dados aos controles, como o próprio nome sugere (Binding, em inglês, significa ligação). Triggers são gatilhos, responsáveis pelo acionamento de eventos e propriedades no código XAML. Por fim, mas não menos importante, os Templates são responsáveis pela determinação da estrutura de cada um dos controles e da amostragem dos dados.

Em WPF, trabalha-se com dois tipos de Templates, que, como o próprio nome indica, são relacionados aos controles e aos dados: Control e Data Templates. Um Control Template é utilizado para definir a estrutura do controle, ou seja, como o controle será mostrado na tela, qual será o componente utilizado para mostrar algum conteúdo, entre outras coisas. Em outras palavras, um Control Template é utilizado para definir as coisas com a qual o controle é feito. Já os Data Templates são utilizados para uma melhor demonstração dos dados em uma aplicação WPF. Um Data Template é uma árvore de elementos para serem expandidos em um determinado contexto. Ou, em uma definição mais clara, é uma forma de definir como os dados serão mostrados na tela. São utilizados juntamente com comboBoxes, listBoxes ou afins, geralmente para realizar a demonstração de vários campos de dados em um banco. Os conceitos serão vistos com mais detalhes e particularidades ao longo do artigo.

Styles, Triggers, Properties e Control Templates

Estilos são utilizados para definir o visual de um controle. Propriedades definem o comportamento do controle. Control Templates são utilizados para alterar a composição estrutural do controle, a forma como ele é visto. E gatilhos são utilizados em estilos e templates para alterar alguma propriedade do controle quando determinada ação acontece. Essas são, em bem poucas (e gerais) palavras, as definições desses quatro conceitos que compõem o núcleo de qualquer controle em WPF. Eles possuem diferenças básicas, mas também outras, mais sutis.

Primeiramente, é importante para o leitor entender que Templates são diferentes de Estilos em muitos sentidos. Com estilos é possível alterar as propriedades do controle para modificar sua aparência. Templates oferecem uma forma de modificar mais profundamente um controle, alterando sua estrutura visual bem como seu comportamento. Eles permitem uma reestruturação completa de um controle qualquer. Porém, é importante perceber que, independentemente do uso de estilos ou templates, os controles vão continuar basicamente os mesmos com relação ao que eles fazem. O desenvolvedor pode alterar substancialmente a forma como um botão é mostrado, por exemplo, mas não pode modificar o fato de que ele é um controle para ser clicado.

Em WPF, existe uma série de gatilhos que são utilizados quando uma condição específica é satisfeita. Esses gatilhos são chamados de Triggers e possuem três tipos:

· Property Triggers: é ativado quando uma propriedade chega a um determinado valor;

· Event Triggers: é ativado quando um determinado evento acontece;

· Data Triggers: é ativado quando uma expressão de ligação (Binding Expression) atinge um determinado valor.

Triggers somente estão disponíveis em estilos e templates e são utilizados, entre outras aplicações, para criação de efeitos visuais em controles. Trata-se de uma solução muito interessante para fornecer interfaces de usuário mais atrativas.

Outro ponto importante é o fato de que estilos podem ter seus próprios Control Templates associados. Como os estilos são utilizados para definir a aparência dos controles, de uma forma bem generalizada eles podem ter seus próprios templates. Isso acontece porque cada estilo possui uma propriedade chamada Template, que é responsável, obviamente, por definir o template associado àquele estilo. Nesses casos, quando o controle referencia aquele estilo, ele acaba obtendo por tabela o acesso ao template relacionado ao mesmo. Além disso, o Control Template utiliza os valores das propriedades que são definidas pelo estilo. Cas ...

Quer ler esse conteúdo completo? Tenha acesso completo