Comment pouvez-vous changer la couleur du texte en surbrillance pour un TextBox WPF?
WPF TextBox
natif permet d'utiliser le Système de couleur de Surbrillance pour peindre l'arrière-plan du texte sélectionné. Je voudrais passer outre et de le rendre conforme depuis elle varie en fonction des OS/utilisateur thème.
Pour ListBoxItem
s, il y a un astuce (voir ci-dessous) où vous pouvez remplacer la ressource clé pour la HighlightBrushKey
pour personnaliser le Système de couleur de Surbrillance dans un concentré de réglage:
<Style TargetType="ListBoxItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightGreen"/>
</Style.Resources>
</Style>
La même astuce ne fonctionne pas pour le TextBox
malheureusement. Quelqu'un a d'autres idées, en plus de "remplacer les ControlTemplate
"?
Merci pour toutes les suggestions!
REMARQUE: Ce comportement semble être ajouté à WPF 4.
source d'informationauteur Steve Cadwallader
Vous devez vous connecter pour publier un commentaire.
Que Steve a parlé : REMARQUE: Ce comportement semble être ajouté à WPF 4.
Je suis tombé sur le même problème.
Comme le Dr WPF dit
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/bbffa6e3-2745-4e72-80d0-9cdedeb69f7f/
Depuis .NET 4,
TextBoxBase.SelectionBrush
par exemple
C'est un Windows 8.1 .Net 4.6.1 testé la solution pour personnaliser le
SelectionBrush
de chaqueTextBox
dans l'application:Si vous souhaitez inclure
RichTextBox
remplacer le nom du type deTextBox
4 fois parTextBoxBase
.Vous pouvez créer un Style pour la zone de texte et écrivez un Setter pour l'arrière-plan. La zone de texte de style doit être un par défaut, de sorte que toute zone de texte qui est sous l'arborescence visuelle permettra d'obtenir la modification de la zone de texte
Essayez ceci: