web-dev-qa-db-fra.com

WPF définit la couleur de la bordure de la zone de texte à partir du code C #

J'ai une application WPF dans laquelle je dois faire plusieurs mises à jour.

L'une des mises à jour est que je passe d'un Label à un TextBox

Je vois dans de nombreux exemples de couleurs de bordure de zone de texte définies à partir de XAML , cela ne fonctionnera PAS pour moi car il existe des conditions de règle métier pour avoir un rouge ou Noir

J'ai essayé:

lblValidMsg.BorderBrush = Brushes.Red;
lblValidMsg.BorderBrush = System.Drawing.Color.Red;     // converter.ConvertFromString("#FF0000"); //borderColor;


lblValidMsg.BorderBrush = SystemColors.Control;

private Color borderColor = Color.Gray;

Je suis sûr que c'est "simple" mais les différentes erreurs constantes sont comme

Cannot implicitly convert type 'System.Drawing.Color' to 'System.Windows.Media.Brush'   

OUI je suis conscient que j'ai laissé le nom de la zone de texte comme nom d'étiquette, d'où le début avec "lbl"

Mise à jour:

Je vois que les gens définissent l'arrière-plan et le premier plan, mais ce n'est pas ainsi que je dois faire

textBox1.Background = Brushes.Blue;
textBox1.Foreground = Brushes.Yellow;

J'ai essayé

lblValidMsg.BorderBrush = Brushes.Red;

Cela donne Impossible de convertir implicitement le type 'System.Drawing.Color' en 'System.Windows.Media.Brush'

12
Brian Thornton
textBox.BorderBrush = System.Windows.Media.Brushes.Red;

Fonctionne pour moi, assurez-vous que vous n'utilisez pas System.Drawing.Brushes, vous devez utiliser le pinceau Windows.Media à la place.

26
Casey Price