Sugerencias para la aplicación de estilos al control CheckBox
El control CheckBox representa un objeto que reaccionará a los datos proporcionados por el usuario a través del mouse, el teclado u otro dispositivo de entrada, y recorrerá tres estados diferentes (Checked, Indeterminate y Unchecked) que generarán eventos asociados.
Al igual que con los demás controles, el control CheckBox se puede modificar y mostrar una apariencia muy distinta a la predeterminada. La apariencia predeterminada del control CheckBox es la siguiente:
Propiedades de interés del control CheckBox
El control CheckBox es un control de contenido. Por tanto, puede mostrar texto en el control CheckBox si establece la propiedad Content en Propiedades comunes en el panel Propiedades.
Puede establecer la propiedad ClickMode para determinar cuándo se desencadenará el evento Click: al hacer clic en el mouse o liberarlo, o al pasar el puntero por encima del control CheckBox.
También puede establecer la propiedad IsChecked para mostrar el control CheckBox en el estado activado, y establecer la propiedad IsThreeState para permitir que el control CheckBox use el estado Indeterminate además de los estados Checked y Unchecked.
Los estados activados de un control CheckBox que usa la plantilla predeterminada del sistema son:
Puede establecer estas propiedades de varias formas:
Establecer las propiedades del objeto Después de dibujar un objeto CheckBox en la mesa de trabajo, puede establecer las propiedades del objeto directamente. Si desea que varios controles CheckBox usen los mismos valores, establezca estas propiedades en un estilo.
Establecer las propiedades en un estilo Si establece estas propiedades en el estilo de un objeto CheckBox, cualquier objeto CheckBox que utilice dicho estilo usará esos valores. Puede sobrescribir los valores de un objeto específico.
Para obtener más información, vea Crear un estilo.
El control CheckBox cambia su apariencia en función del estado en el que se encuentre. La apariencia de cada estado se puede modificar mientras se está en el modo de edición de plantilla si se selecciona un estado en el panel Estados. Para obtener más información, vea los estados en las listas siguientes y vea también Definir distintos estados visuales para un control.
Para especificar lo que sucede al hacer clic en el control CheckBox, arrastre un comportamiento a un objeto CheckBox o a un objeto de la plantilla CheckBox. Para obtener más información, vea Agregar controles de comportamiento a objetos.
También puede enlazar el evento Click a un controlador de eventos. Para obtener más información, vea Escribir código que responda a eventos.
Elementos de la plantilla CheckBox
El control CheckBox no tiene elementos.
Estados del control CheckBox
De forma predeterminada, el control CheckBox puede estar en uno de los cuatro estados del grupo de estados CommonStates, que se pueden ver en el panel Estados al modificar una plantilla CheckBox:
Nombre del estado |
Descripción |
---|---|
Normal |
Apariencia del control CheckBox cuando no hay ninguna interacción con el control. |
MouseOver |
Apariencia del control CheckBox cuando el usuario mueve el puntero sobre él. |
Pressed |
Apariencia del control CheckBox cuando el usuario hace clic en él, o cuando el control recibe el foco y el usuario presiona ENTRAR o BARRA ESPACIADORA. |
Disabled |
Apariencia del control CheckBox cuando la propiedad IsEnabled se ha establecido en False. |
El control CheckBox puede estar en uno de los dos estados siguientes del grupo de estados FocusStates:
Nombre del estado |
Descripción |
---|---|
Unfocused |
Apariencia del control CheckBox cuando no recibe el foco del teclado. |
Focused |
Apariencia del control CheckBox cuando recibe el foco del teclado. Por ejemplo, es posible que un usuario presione la tecla TAB para recorrer los objetos de su aplicación hasta que el foco del teclado esté en el control CheckBox. |
El control CheckBox puede estar en uno de los tres estados siguientes del grupo de estados CheckStates:
Nombre del estado |
Descripción |
---|---|
Unchecked |
Apariencia del control CheckBox cuando la propiedad IsChecked se ha establecido en False. |
Checked |
Apariencia del control CheckBox cuando la propiedad IsChecked se ha establecido en True. |
Indeterminate |
Apariencia del control CheckBox cuando la propiedad IsThreeState se ha establecido en True y la propiedad IsChecked se ha establecido en Null. |
Sugerencia: |
---|
Un grupo de estados contiene los estados visuales que forman parte de la misma categoría lógica y que no se pueden mostrar al mismo tiempo. Por ejemplo, el grupo CommonStates incluye estados relacionados con la interacción del usuario mediante un dispositivo de entrada como el mouse. Solo se puede mostrar un estado de este grupo de estados cada vez, pero un estado de un grupo sí se puede mostrar al mismo tiempo que un estado de otro grupo de estados. |
Al seleccionar un estado, se activa la grabación del estado y se grabarán todos los cambios que se realicen para dicho estado. Para desactivar la grabación de un estado, haga clic en el botón de grabación en la mesa de trabajo, o bien seleccione Base en el panel Estados. Para modificar la apariencia del control cuando dos estados diferentes están activos, puede anclar una vista previa de un estado de un grupo de estados mientras modifica un estado de otro grupo de estados.
Para convertir objetos en un control CheckBox
Dado que el control CheckBox no tiene elementos, es posible convertir cualquier objeto en un control CheckBox.
Agrupe los objetos en un panel de diseño, seleccione el panel de diseño y, a continuación, en el menú Herramientas, haga clic en Convertir en control.
En el cuadro de diálogo que aparece, seleccione CheckBox, asígnele un nombre a la plantilla y seleccione la ubicación donde se almacenará.
Para obtener información acerca de las ubicaciones, vea Crear un recurso.
Después de hacer clic en Aceptar, Microsoft Expression Blend entra en el modo de edición de plantilla y muestra los objetos que forman el control CheckBox.
Si el grupo de objetos originales incluía un objeto TextBlock , el objeto TextBlock se convierte a un objeto ContentPresenter en la plantilla del control CheckBox. Esto permite que el objeto CheckBox muestre texto. Si sus objetos originales no incluían un objeto TextBlock, automáticamente se agregará a la plantilla un objeto ContentPresenter. Si no necesita mostrar texto en la propiedad Content del objeto CheckBox al que se aplicará esta plantilla, puede eliminar el objeto ContentPresenter.
Puede continuar modificando la plantilla en este modo. Por ejemplo, agregar o modificar objetos, o bien seleccionar un estado en el panel Estados para modificar la apariencia de la plantilla en dicho estado.
Plantéese la posibilidad de enlazar algunas de las propiedades de pincel de los objetos de la plantilla a las siguientes propiedades del objeto CheckBox que finalmente usará la plantilla:
Background
BorderBrush
Foreground
BorderThickness
Para obtener más información, vea Trasladar propiedades de objetos a la plantilla.
Para salir del modo de edición de plantilla, haga clic en [CheckBox] en la barra de ruta de navegación situada en la parte superior de la mesa de trabajo, o haga clic en Ámbito superior en el panel Objetos y escala de tiempo.
Para obtener información acerca de cómo aplicar una plantilla CheckBox nueva a otros objetos CheckBox, vea Aplicar o quitar un recurso.
Referencias
Puede encontrar información detallada acerca de las propiedades y eventos del control CheckBox de Microsoft Silverlight en la galería de controles de Silverlight (en inglés) en MSDN.
Vea también
Conceptos
Sugerencias para la aplicación de estilos a controles Silverlight comunes