2010-06-21 2 views

ответ

6

На C#:

textBox.Foreground = Brushes.Gray; 

На XAML:

<TextBox Foreground="Gray" /> 

Чтобы отключить его (изменится фон тоже):

textBox.IsEnabled = false; 
-1

Использование TextBox вместо и установить IsReadOnly = true или IsEnabled = false

4

Вы можете установить собственность TextBlock.Foreground в любой цвет (технически, с любого кисти). Если вы хотите, чтобы быть неактивна, просто установить:

<TextBlock Text="Foo" Foreground="Gray" /> 

Если вы хотите, чтобы выглядеть «отключено», вы можете установить IsEnabled ложь:

<TextBlock Text="Foo" IsEnabled="false" /> 
+1

Я хочу использовать флаг IsEnabled. как только я установил его в false, это не имеет никакого эффекта. В чем может быть проблема? – user209293

+0

@ user209293: Как вы установили его в false? –

+0

Я сделал это в кодовой части. textblock.Isenabled = false. – user209293

2

IsEnabled флаг для textblock делает не серый текст. This post подробности различия между textblock и этикеткой. Он также показывает XAML, чтобы добавить триггер на IsEnabled, чтобы серый текст.

0

Проблема с использованием TextBox заключается в том, что вокруг него есть коробка. Если вы используете Label (с Content = "Foo"), вы можете переключить цвет текста с помощью IsEnabled. В противном случае он ведет себя как TextBlock для короткого заголовка/метки.

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