WPF 4.0 introduit plusieurs nouveautés. L’une d’elle permet de changer le style de la sélection des zones de textes et le style du curseur d’insertion.
Avant WPF 4.0, nos zones de textes ressemblaient à ceci :
Sélection de texte
Curseur d’insertion
Maintenant il nous est possible de faire (ça me rappelle la sélection texte de Blend :)):
Pour la sélection de texte, la propriété SelectionBrush permet de changer la couleur de sélection, l’opacité… etc, cette propriété “DependancyProperty” est disponible dans chaque contrôle héritant de TextBoxBase.
Pour reproduire la sélection visible dans l’image ci-dessus :
<TextBox.SelectionBrush>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#00314f" Offset="0"/>
<GradientStop Color="#9eb2c4" Offset="0.375"/>
<GradientStop Color="#9eb2c4" Offset="0.375"/>
<GradientStop Color="#00314f" Offset="1"/>
</LinearGradientBrush>
</TextBox.SelectionBrush>
Ici j’utilise un LinearGradientBrush, mais vous pouvez aussi très bien passer par d’autres pinceaux, avec les propriétés BitmapCacheBrush, DrawingBrush, ImageBrush, RadialGradientBrush, un SolidColorBrush ou bien un VisualBrush.
CaretBrush est à peu de chose près la même propriété que SelectionBrush, la différence est que celui ci est prévu pour le curseur d’insertion.
<TextBox.CaretBrush>
<SolidColorBrush Color="DarkGray"></SolidColorBrush>
</TextBox.CaretBrush>
Comme nous pouvons le constater, c’est très simple à mettre en place. Par contre, il faut faire attention à l’accessibilité de notre application.
A bientôt :)