2015-12-09 8 views
8

У меня есть приложение WPF, в котором я должен сделать несколько обновлений.WPF set Textbox Цвет границы от кода C#

Одно из обновлений, что я меняюсь от этикетки к TextBox

я вижу во многих примерах Textbox цвет границы получать набор из XAML, что не собирается работать для меня, как есть бизнес условия правила, чтобы иметь красный или черный

Я пробовал:

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


lblValidMsg.BorderBrush = SystemColors.Control; 

private Color borderColor = Color.Gray; 

Я уверен, что это «просто», но постоянные различные ошибки как

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

ДА Я знаю, что я оставил имя текстового поля, как имя метки, следовательно, начиная с «LBL»

Обновление:

Я вижу, что люди установить фон и передний план, но это не так, как я должен делать

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

Я попытался

lblValidMsg.BorderBrush = Brushes.Red; 

Это дает Не может неявно преобразовать тип «System.Drawing.Color» до «» System.Windows.Media.Brush

+0

Может помочь [Установить цвет системы на кнопку] (https://stackoverflow.com/a/28722540/2122718]) или [Установить цвет фона в текстовом поле] (https://stackoverflow.com/a/979906/ 2122718) – marbel82

ответ

18
textBox.BorderBrush = System.Windows.Media.Brushes.Red; 

Работы для меня, убедитесь, что вы не используете систему. Drawing.Brushes, вам нужно вместо этого использовать кисть Windows.Media.

+0

Да, это работает, сообщение, которое, я думаю, было очевидно, но вы сделали это! спасибо! –

+1

не работает для меня, используя VS2017 CE –

Смежные вопросы