SimpleCheckBox
La case à cocher est un contrôle de contenu qui agit comme une bascule pouvant prendre trois états : activé, non activé et indéterminé. L’état IsChecked indique si la case à cocher est activée. Vous pouvez placer du contenu dans une case à cocher dans Microsoft Expression Blend en double-cliquant sur la case à cocher et en y dessinant un élément. Si vous souhaitez placer plusieurs éléments dans la case à cocher, vous devez d’abord ajouter un panneau de disposition tel qu’une grille ou un canevas. Une case à cocher peut également afficher du texte par défaut ; vous pouvez modifier le texte en cliquant avec le bouton droit sur la case à cocher, puis en cliquant sur Modifier le texte.
Vue de planche graphique d’un contrôle SimpleCheckBox.
Composition du modèle de contrôle
Le modèle de contrôle SimpleCheckBox est composé des éléments suivants :
Un conteneur BulletDecorator, qui est utilisé pour aligner la case à cocher sur le texte. Un contrôle BulletDecorator prend deux enfants : une puce et un élément de contenu (tel que l’élément ContentPresenter). L’élément BulletDecorator est utilisé dans d’autres contrôles (tels que le contrôle RadioButton) qui doivent aligner du texte sur un autre élément.
L’élément Bullet, qui contient un panneau Grille qui à son tour contient un élément Path nommé CheckMark et un élément Border. L’élément Path sert à dessiner une marque « x ».
Le contrôle ContentPresenter, qui est utilisé pour afficher la propriété Content de la case à cocher à laquelle le modèle est appliqué. Cet élément doit être présent pour afficher le contenu de la case à cocher.
Liste d’objets : parties de base (modèle) d’un contrôle SimpleCheckBox
Haut de la page
Déclencheurs de propriété utilisés
Des déclencheurs de propriété dans le modèle de contrôle sont utilisés pour que le contrôle réagisse aux changements de propriétés. Vous pouvez cliquer sur les éléments sous Déclencheurs dans le panneau Interaction pour voir les propriétés qui sont changées lorsqu’un déclencheur est actif. Par exemple, dans le modèle du contrôle SimpleCheckBox, lorsque la propriété IsChecked a la valeur False, la visibilité de l’élément de tracé CheckMark est changée à l’état réduit. Dans d’autres déclencheurs, vous changez l’arrière-plan de l’élément Border à l’aide de ressources pinceau.
Haut de la page
Pinceaux utilisés
Les ressources pinceau suivantes dans le dictionnaire de ressources SimpleStyles.xaml sont utilisées par le modèle SimpleCheckBox :
La propriété Background de l’élément Border est définie à l’aide de l’élément NormalBrush lorsqu’aucun déclencheur n’est actif, l’élément MouseOverBrush lorsque IsMouseOver a la valeur True, l’élément PressedBrush lorsque IsPressed a la valeur True, et l’élément DisabledBackgroundBrush lorsque IsEnabled a la valeur False.
La propriété BorderBrush est définie à l’aide de l’élément NormalBorderBrush lorsqu’aucun déclencheur n’est actif, de l’élément PressedBorderBrush lorsque IsPressed a la valeur True et de l’élément DisabledBorderBrush lorsque IsEnabled a la valeur False.
La propriété Foreground est définie à l’aide de l’élément DisabledForegroundBrush lorsque IsEnabled a la valeur False.
La propriété Stroke de l’élément CheckMark utilise l’élément GlyphBrush pour dessiner la marque « x ».
Haut de la page
Recommandations et directives de conception
En général, utilisez un contrôle Grid comme racine de votre modèle si vous prévoyez qu’un concepteur d’interface utilisateur d’application ajoutera des éléments visuels à votre contrôle. Expression Blend recherche un panneau de disposition comme le contrôle Grid et l’active par défaut afin que de nouveaux éléments ajoutés à la planche graphique deviennent des éléments enfants du panneau de disposition.
Le contenu de la case à cocher est affiché par l’élément ContentPresenter. Les éléments ContentPresenter lient automatiquement le modèle à la propriété Content du contrôle auquel le modèle est appliqué. Cet élément doit être présent pour que la case à cocher affiche le contenu du parent modélisé.
Dans certains cas, le contrôle utilisé n’a pas suffisamment d’attributs pour se lier au modèle de contrôle. Par exemple, le contrôle CheckBox ne fournit pas d’attribut pour définir le pinceau de l’élément CheckMark. Dans ce cas, le trait du contrôle CheckMark devient un pinceau afin d’être plus simple à changer. Vous pouvez créer une classe personnalisée basée sur le contrôle CheckBox et ajouter d’autres attributs auxquels établir une liaison, ou vous pouvez établir une liaison à l’un des attributs existants. Pour obtenir un exemple d’une classe personnalisée, voir Essayez ! créer un contrôle WPF personnalisé dans ce Guide de l’utilisateur.
L’élément Grid est de taille fixe car nous cachons et affichons l’élément de tracé CheckMark. Si l’élément Grid n’est pas de taille fixe, le texte dans l’élément ContentPresenter se déplace lorsque la sélection de la case à cocher a changé. Comme solution de remplacement à une taille de grille fixe et au masquage du tracé CheckMark, vous pouvez changer l’opacité de la propriété Stroke sur l’objet de tracé CheckMark à 0.
Haut de la page
Voir aussi
Concepts
Essayez ! Personnaliser l’aspect de la case à cocher dans un contrôle SimpleCheckBox