Mejorando la interacción con Behaviors – Play Silverlight

En esta entrada voy a tratar el tema de los behaviors, un nuevo patrón de diseño introducido en Blend 3 que nos permite crear interacciones sin necesidad de escribir nada de código. El concepto es sencillo, se crea un comportamiento que encapsula cierta funcionalidad relacionada con la interfaz de usuario y se asigna a un control  cualquiera.

Estos comportamientos se encuentran en la ventana de activos y se pueden aplicar a un control con solo arrastralo sobre el mismo. En la siguiente imagen se muestra la ventana de activos con el listado de comportamientos predefinidos.

Lista de comportamientos

Lista de comportamientos

Algunos de los comportamientos más comunes son ControlStoryBoardAction, que nos permite lanzar acciones relacionadas con animaciones (Reproducir, pausar, reanudar); GoToStateAction, con el que podemos cambiar el estado visual actual;  CallMethodAction con el que podemos llamar a un método del contexto de datos;  o ChangePropertyAction para cambiar propiedades de un elemento.

Configuración

La configuración de los comportamientos tiene una parte común que es la relacionada con el evento que lanzará la funcionalidad del comportamiento. Existen otras propiedades  adicionales que varían según el tipo de comportamiento. Así, en el caso del tipo ControlStoryboardAction, encontramos que podemos configurar la animación a lanzar y la operación relacionada con ésta; en el caso de GoToStateAction, en cambio, existe un única propiedad adicional que es el estado al que se pasará al ejecutar el comportamiento.

Propiedades de un comportamiento

Propiedades de un comportamiento

Además de estas propiedades, podemos encontrar una característica añadida en Blend 4  que es la posibilidad de añadir una serie de condiciones para la ejecución de los comportamientos. En el panel de propiedades de un comportamiento podemos encontrar la pestaña Condiciones, donde podremos crear condiciones que envuelvan propiedades de un data store y valores específicos con la que se determinará si se puede ejecutar el comportamiento o no.

Comportamientos condicionales

Comportamientos condicionales

Comportamientos personalizados

Además, como decía anteriormente, podemos crear nuestros propios comportamientos, para lo cual deberemos crear una clase que herede de Behavior<UIElement>. En dicha clase hay que sobrescribir dos métodos de la clase base: OnAttached() y OnDetaching(). En el primero tendremos acceso al elemento al que es asignado el comportamiento y en él deberemos añadir delegados para los eventos en los que se ejecutará la funcionalidad requerida. En el segundo, por su parte, tan solo deberemos eliminar estos manejadores. Podemos encontrar ejemplos de implementación de behaviors personalizados como estos:

Anuncios
Esta entrada fue publicada en Animaciones, Silverlight y etiquetada , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s