Agregar o quitar un desencadenador de un control WPF
Puede usar desencadenadores para iniciar y detener escalas de tiempo de animaciones o para cambiar propiedades de objetos. Hay dos tipos de desencadenadores:
Desencadenador de propiedad Mecanismo por el cual un cambio en una propiedad (como la propiedad IsPressed ) desencadena un cambio instantáneo en otra propiedad o un cambio gradual mediante una escala de tiempo animada. Los desencadenadores de propiedad se pueden establecer en el estilo o en la plantilla de un control.
Para obtener ejemplos de configuración de desencadenadores de propiedad en estilos simples de controles comunes, vea los temas enumerados en Sugerencias para la aplicación de estilos a Simple Styles de WPF.
Desencadenador de eventos Mecanismo por el cual un evento (como un evento Click del mouse) desencadena una escala de tiempo de animación. Los desencadenadores de eventos se pueden establecer en cualquier objeto de la mesa de trabajo, en el estilo o plantilla de un control, en un control de usuario o en la raíz del documento.
Para obtener ejemplos de configuración de desencadenadores de eventos en estilos simples de controles comunes, vea los temas enumerados en Sugerencias para la aplicación de estilos a Simple Styles de WPF.
Para obtener más información, vea Usar desencadenadores para definir el comportamiento de un control WPF.
[!NOTA]
Los desencadenadores se agregan en el mismo ámbito que la escala de tiempo de la animación que manipulan. Por ejemplo, no puede establecer un desencadenador en el ámbito de edición del documento principal que iniciará una escala de tiempo de animación en la plantilla de control de un botón, aunque el botón esté en el documento. Sin embargo, puede establecer un desencadenador dentro de una plantilla de control que inicie una animación en la misma plantilla de control. Lo mismo se aplica en el caso de animaciones incluidas en los controles de usuario usados en el documento.
Para agregar un desencadenador de propiedad
En el panel Objetos y escala de tiempo, seleccione el control cuyo estilo o plantilla desea modificar.
En el menú Objeto, realice una de las acciones siguientes:
Para editar el estilo del control, seleccione Editar estilo y, a continuación, haga clic en Editar una copia.
Para editar la plantilla del control, seleccione Editar plantilla y, a continuación, haga clic en Editar una copia.
Aparece el cuadro de diálogo Crear recurso Style.
Para obtener información acerca de estilos y plantillas, y una tabla de comparación, vea la sección de estilos y plantillas en Elegir y usar controles interactivos.
Haga clic en Aceptar para salir del cuadro de diálogo y abrir el estilo o plantilla para editarlos.
[!NOTA]
Este procedimiento se ha simplificado enormemente para poder centrarse en la configuración de desencadenadores de propiedad. Para obtener más información acerca de las diferencias entre los estilos y plantillas, vea la sección estilos y plantillas en Elegir y usar controles interactivos. Para obtener información acerca de las opciones del cuadro de diálogo Crear recurso Style, vea Crear un estilo y Crear o modificar una plantilla.
En el panel Desencadenadores, es posible que ya esté establecido algún desencadenador de propiedad para los estados de control como IsEnabled=True . Si no ve un estado que sea apropiado para el desencadenador, haga clic en Agregar desencadenador de propiedad.
Se agregará un desencadenador de propiedad predeterminado ( MinWidth=0 ) a la lista, que quedará seleccionado para su edición. Además, la mesa de trabajo cambia al modo de grabación del desencadenador.
Haga clic en las flechas de lista desplegable bajo Activado cuando para poder modificar la propiedad y el valor que activará el desencadenador. Por ejemplo, si va a modificar la plantilla de un control CheckBox, puede seleccionar target-element.IsChecked=true para que el desencadenador se active cuando se seleccione la casilla.
Ahora podrá especificar lo que ocurrirá cuando se active el desencadenador.
[!NOTA]
Si desea cambiar la propiedad de target-element al nombre de un elemento en la plantilla, deberá seleccionar primero el elemento en el panel Objetos y escala de tiempo.
Para que una propiedad cambie cuando se active el desencadenador, seleccione un objeto en el panel Objetos y escala de tiempo y cambie una propiedad en el panel Propiedades. Esto funciona porque se encuentra en el modo de grabación del desencadenador.
El cambio de propiedad aparece en Propiedades cuando está activo.
Para controlar la escala de tiempo de una animación cuando se active el desencadenador, haga clic en Agregar nueva acción junto a Acciones al activar.
Si no existe ninguna escala de tiempo de animación que elegir, se abrirá el cuadro de diálogo Es necesaria una escala de tiempo para preguntarle si desea crear una escala de tiempo nueva. Haga clic en Aceptar y cree la animación mediante el establecimiento de fotogramas clave y la modificación de objetos.
Si existe una escala de tiempo de animación, aparecerá una lista desplegable con la escala de tiempo y una opción para crear otra nueva.
La escala de tiempo aparece debajo de Acciones al activar establecida en Begin.
Para salir del ámbito de edición del estilo o de la plantilla, haga clic en Devolver ámbito a. Presione F5 para ejecutar la aplicación de forma que pueda probar el nuevo desencadenador.
Para agregar un desencadenador de eventos
En el panel Objetos y escala de tiempo, seleccione un objeto que active el desencadenador cuando se interactúe con él. Por ejemplo, si desea que se active el desencadenador cuando el usuario mueva el puntero sobre un cuadro de texto, seleccione el cuadro de texto.
En el panel Desencadenadores, haga clic en Agregar desencadenador de evento.
- Se agrega un desencadenador predeterminado ( When Window.Loaded is raised ).
Haga clic en las flechas de lista desplegable para modificar el evento que activará el desencadenador. Por ejemplo, si desea que se active el desencadenador cuando el usuario mueva el puntero sobre un cuadro de texto, cambie When Window.Loaded is raised a When textBox.MouseMove is raised .
[!NOTA]
Si desea cambiar el evento de Window al nombre de un elemento de la plantilla, deberá seleccionar primero el elemento en el panel Objetos y escala de tiempo.
Para controlar la escala de tiempo de una animación cuando se active el desencadenador, haga clic en Agregar nueva acción junto a When checkBox.MouseMove is raised .
Si no existe ninguna escala de tiempo de animación que elegir, se abrirá el cuadro de diálogo Es necesaria una escala de tiempo para preguntarle si desea crear una escala de tiempo nueva. Haga clic en Aceptar y cree la animación mediante el establecimiento de fotogramas clave y la modificación de objetos.
Si existe una escala de tiempo de animación, aparecerá una lista desplegable con la escala de tiempo y una opción para crear otra nueva.
La escala de tiempo aparece bajo When checkBox.MouseMove is raised y está establecida en Begin .
Presione F5 para ejecutar la aplicación de forma que pueda probar el nuevo desencadenador.
Para quitar un desencadenador
En el panel Desencadenadores, seleccione el desencadenador que desea quitar.
[!NOTA]
Si el desencadenador que desea quitar se encuentra en un estilo o plantilla de control, asegúrese de que se encuentra en el modo de edición del estilo o de la plantilla.
Haga clic en Eliminar desencadenador.
El desencadenador se quitará de la lista.
Copyright © 2011 de Microsoft Corporation. Reservados todos los derechos.