SimpleCheckBox (prise en charge de WPF dans Blend)

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 est cochée. Vous pouvez placer du contenu dans une case à cocher dans Blend for Visual Studio en double-cliquant sur la case à cocher et en y dessinant un objet. Si vous souhaitez placer plusieurs objets dans la case à cocher, vous devez d’abord ajouter un panneau de disposition tel qu’un contrôle Grid ou un contrôle Canvas. 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

JJ170733.b070f542-4f36-422b-a930-be4b1311b2ca(fr-fr,VS.120).png

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 utilise deux enfants : une puce et un objet de contenu (tel que l’élément ContentPresenter). Le contrôle BulletDecorator est utilisé dans d’autres contrôles (tels que RadioButton) qui doivent aligner le texte sur un autre objet.

  • L’élément Bullet , qui contient un panneau Grid 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.

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 du panneau Déclencheurs pour voir les propriétés qui changent lorsqu'un déclencheur est actif. Par exemple, dans le modèle SimpleCheckBox, lorsque la propriété IsChecked a la valeur False, la visibilité de l’élément de tracé CheckMark est changée en Collapsed. Dans d’autres déclencheurs, vous changez l’arrière-plan de l’élément Border à l’aide de ressources pinceau.

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 avec : le contrôle NormalBrush quand aucun déclencheur n’est actif, le contrôle MouseOverBrush quand IsMouseOver est True, le contrôle PressedBrushquand IsPressed est True, et le contrôle DisabledBackgroundBrush quand IsEnabled est False.

  • La propriété BorderBrush est définie avec : le contrôle NormalBorderBrush quand aucun déclencheur n’est actif, le contrôle PressedBorderBrush quand IsPressed est True, et le contrôle DisabledBorderBrush quand IsEnabled est 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 le contrôle GlyphBrush pour dessiner la marque « x ».

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 (UI) de l'application ajoute d'autres éléments visuels à votre contrôle. Blend cherche un panneau de disposition comme le contrôle Grid et le rend actif par défaut pour que les nouveaux objets qui sont ajoutés à la planche graphique se retrouvent en tant qu'objets enfants du panneau de disposition.

  • Le contenu de la case à cocher est indiqué par l'objet ContentPresenter. les objetsContentPresenter lient automatiquement le modèle à la propriété Content du contrôle auquel le modèle est appliqué. Cet objet 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’objet 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 Création de contrôles personnalisés dans ce Guide de l’utilisateur.

  • L’objet Grid est de taille fixe car vous masquez et affichez l’objet de tracé CheckMark. Si l’objet Grid n’est pas de taille fixe, le texte dans ContentPresenter se déplace lorsque la sélection de la case à cocher est modifiée. Comme alternative à une taille fixe de Grid et au masquage du tracé CheckMark, vous pouvez changer l’objet Opacity de la propriété Stroke dans l’objet de tracé CheckMark sur 0.

Voir aussi

Tâches

Essayez ! Personnaliser l'aspect de la case à cocher dans un contrôle SimpleComboBox (prise en charge de WPF dans Blend)