Criando Behavior em Silverlight
Criando Behavior em Silverlight
Uma das características do Silverlight a partir da versão 3 é suporte para Behavior. Behavior (Comportamento) é um modo para permitir designers adicionar funcionalidades nos elementos XAML sem código. Porém, desenvolvedores podem criar os seus próprios Behavior para serem usados. O Microsoft Blend já possui alguns behaviors, como MouseDragElement. Para começar você precisa ter uma referencia do assembly System.Windows.Interactivity.dll em seu projeto Silverlight, disponível no endereço como apresentado na Listagem 01.
Listagem 01 – Assembly System.Windows.Interactivity.dll Com o assembly Interactivity, você poderá usar uma das classes bases para criar um behavior. Existem algumas classes de interesse, mas somente será mencionada apenas três, que são as mais interessantes.
A Figura 01 traz o diagrama de classes das classes abstratas mencionadas nos marcadores acima.
Figura 01 – Diagrama de classe System.Windows.Interactivity Para a criação de um Behavior simples, a classe Behavior<T> é perfeita. Esta classe simplesmente tem métodos substituíveis para notificar o comportamento quando um objeto é agregado ou independente do comportamento. Então, neste tutorial será demonstrada a criação de um simples behavior para aplicação de efeito Blur nos elementos que possibilitam este tipo de efeito. A ideia é habilitar e desabilitar o efeito Blur quando o mouse estiver sobre o elemento e quando deixá-lo. Para isso, será usado dois eventos, o evento MouseEnter e MouseLeave. Criando o Behavior
Inicie um projeto Silverlight versão 3 ou 4, forneça o nome de BehaviorBlur. Adicione no projeto Silverlight a referencia Interactions.dll, conforme pode ser visualizado na Figura 02 e 03.
Figura 03 – Adicionando Referencia
Crie uma classe, com o nome CBlurBehavior.cs, como mostrado na Figura 04.
Figura 04 – Adicionando classe A classe CBlurBehavior criada irá herdar a classe abstrata Behavior<T>, onde o parametro será um UIElement, o qual é um DependencyObject. Então, primeiramente adicione o namespace, conforme mostrado na Figura 05.
Figura 05 – Adicionando Namespace Interactivity Adicione outro Namespace para permitir a criação do objeto Blur, como mostra a Listagem 02.
Listagem 02 – Adicionando namespace e objeto para efeito Blur A classe Behavior, como mostrada no diagrama da Figura 01, fornece dois métodos virtuais OnAttached e OnDetaching que podem ser usados para o comportamento de suas classes. No método OnAttached deve-se criar dois eventos, MouseEnter e MouseLeave para habilitar e desabilitar o efeito Blur, respectivamente. E consequentemente, no método OnDetaching, apenas deve-se remover os eventos. A Listagem 03 traz a codificação do comportamento Blur por completo.
Listagem 03 – Codificação completa A Figura 06 mostra o diagrama de classe da aplicação
Figura 06 – Diagrama de Classe da aplicação completa Desta forma, você poderá aplicar seu Behavior usando o Xaml, ou no próprio Blend. Para isso adicione um retângulo na Artboard e aplique o CBlurBehavior, como mostra Figura 07.
Figura 07 – Aplicando CBlurBehavior no retângulo Neste tutorial você aprendeu a criar Behavior em Silverlight o qual pode ser aplicado em qualquer aplicação que queira aplicar Efeito Blur. Para isso, somente é necessário gerar a DLL da aplicação e referenciar em outros projetos. Abraços, Flávia Moreira
|


Figura 02 - Adicionando Referencia



