WPF Текстовый блок серый текст - PullRequest
4 голосов
/ 21 июня 2010

Я хочу выделить текст серым цветом в текстовом блоке WPF. как мне это сделать?

С уважением Раджу

Ответы [ 6 ]

7 голосов
/ 21 июня 2010

На C #:

textBox.Foreground = Brushes.Gray;

В XAML:

<TextBox Foreground="Gray" />

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

textBox.IsEnabled = false;
5 голосов
/ 14 июня 2012

Флаг IsEnabled для textblock не выделяет текст серым цветом. В этом сообщении подробно описаны различия между textblock и ярлыком.Он также показывает XAML для добавления триггера на IsEnabled для серого текста.

5 голосов
/ 21 июня 2010

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

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

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

<TextBlock Text="Foo" IsEnabled="false" />
3 голосов
/ 28 сентября 2018

TextBlocks не отключаются автоматически при отключении

Вы можете использовать стиль, чтобы сделать это для вас

    <Style x:Key="DisableEnableTextBlock" TargetType="{x:Type TextBlock}">
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="True">
            <Setter Property="Opacity" Value="1" />
        </Trigger>
        <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Opacity" Value=".5" />
        </Trigger>
    </Style.Triggers>
</Style>
1 голос
/ 22 мая 2014

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

0 голосов
/ 21 июня 2010

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

...