SimpleCheckBox

Esta página es específica de proyectos WPF

La casilla es un control de contenido que funciona como un control de alternancia que puede tener tres estados: activado, desactivado o indeterminado. El estado IsChecked indica si la casilla de verificación está activada. Para colocar contenido en una casilla en Microsoft Expression Blend, haga doble clic en la casilla y, a continuación, dibuje un elemento en ella. Si desea colocar varios elementos en la casilla, primero debe agregar un panel de diseño como Grid o Canvas. Una casilla también puede mostrar texto de forma predeterminada; para modificar este texto, haga clic con el botón secundario en la casilla y, a continuación, haga clic en Editar texto.

Vista en la mesa de trabajo de un control SimpleCheckBox

Cc295106.b070f542-4f36-422b-a930-be4b1311b2ca(es-es,Expression.10).png

Desglosar la plantilla de control

La plantilla del control SimpleCheckBox está formada por los siguientes elementos:

  • Un contenedor BulletDecorator, que se usa para alinear la casilla con el texto. El contenedor BulletDecorator usa dos elementos secundarios: una viñeta y un elemento de contenido (como ContentPresenter). BulletDecorator se usa en otros controles (como RadioButton) que necesitan alinear texto con otro elemento.

  • El elemento Bullet, que contiene un panel Grid que a su vez contiene un elemento de trazado denominado CheckMark y un elemento Border. El elemento de trazado se usa para dibujar una marca "x".

  • El elemento ContentPresenter, que se usa para mostrar la propiedad Content de la casilla a la que se aplica la plantilla. Este elemento debe estar presente para mostrar el contenido de la casilla.

    Vista de objetos: partes básicas (plantilla) de un control SimpleCheckBox

    Cc295106.0d0b3635-222f-44ec-81d6-3bf59a1beca3(es-es,Expression.10).png

Cc295106.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Desencadenadores de propiedad usados

Los desencadenadores de propiedad de la plantilla de control sirven para hacer que el control reaccione ante los cambios de propiedad. Puede hacer clic en los elementos de Desencadenadores, en el panel Interacción, para ver las propiedades que cambian cuando está activo un desencadenador. Por ejemplo, en la plantilla SimpleCheckBox, si la propiedad IsChecked es False, la visibilidad del elemento de trazado CheckMark cambia a Collapsed. En otros desencadenadores, el fondo del elemento Border se cambia mediante los recursos de pincel.

Cc295106.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Pinceles usados

La plantilla SimpleCheckBox usa los siguientes recursos de pincel del diccionario de recursos SimpleStyles.xaml:

  • Para establecer la propiedad Background del elemento Border, debe usar NormalBrush cuando no hay ningún desencadenador activo, MouseOverBrush cuando IsMouseOver es True, PressedBrush cuando IsPressed es True y DisabledBackgroundBrush cuando IsEnabled es False.

  • Para establecer la propiedad BorderBrush, debe usar NormalBorderBrush cuando no hay ningún desencadenador activo, PressedBorderBrush cuando IsPressed es True y DisabledBorderBrush cuando IsEnabled es False.

  • La propiedad Foreground se establece mediante DisabledForegroundBrush cuando IsEnabled es False.

  • La propiedad Stroke del elemento CheckMark usa GlyphBrush para dibujar la marca "x".

Cc295106.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Procedimientos recomendados e instrucciones de diseño

  • En general, debe usar un control Grid como raíz de la plantilla si cree que un diseñador de la interfaz del usuario (UI) de la aplicación va a agregar más elementos visuales al control. Expression Blend busca un panel de diseño como el control Grid y lo activa de forma predeterminada para que los elementos nuevos de la mesa de trabajo se agreguen como elementos secundarios del panel de diseño.

  • El contenido de la casilla se muestra mediante el elemento ContentPresenter. El elemento ContentPresenter enlaza automáticamente la plantilla con la propiedad Content del control al que se aplica la plantilla. Este elemento debe estar presente para que en la casilla se muestre el contenido del elemento primario con plantilla.

  • En algunos casos, el control con el que está trabajando no tendrá suficientes atributos para enlazar con la plantilla de control. Por ejemplo, el control CheckBox no proporciona ningún atributo para establecer el pincel del elemento CheckMark. En este caso, el trazo de CheckMark se establece en un pincel para que sea más fácil de cambiar. Puede crear una clase personalizada basada en el control CheckBox y agregar más atributos con los que enlazar o bien enlazar con uno de los atributos existentes. Para obtener un ejemplo de una clase personalizada, vea Inténtelo: crear un control WPF personalizado en este Manual del usuario.

  • El elemento Grid tiene un tamaño fijo porque el elemento de trazado CheckMark se oculta y se muestra. Si el elemento Grid no tuviera un tamaño fijo, el texto de ContentPresenter se movería al cambiar la selección de la casilla. Como alternativa al uso de un tamaño fijo de Grid y la ocultación del elemento de trazado CheckMark, puede cambiar el valor de Opacity de la propiedad Stroke en el objeto de trazado CheckMark a 0.

Cc295106.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Vea también

Conceptos

Inténtelo: personalizar la apariencia de la marca de verificación de un control SimpleCheckBox