Как отключить TextBlock? - PullRequest
       1

Как отключить TextBlock?

29 голосов
/ 02 мая 2011

Я хочу, чтобы мой TextBlock выглядел отключенным (серым), но когда я установил для свойства IsEnabled значение false, ничего не происходит, он остается черным:

<TextBlock Text="test" IsEnabled="False" />

Почему это так?Также я попытался использовать Label, но его размер по некоторым причинам больше, поэтому он испортит весь мой макет.

Ответы [ 3 ]

48 голосов
/ 02 мая 2011

Это был бы правильный способ сделать это с помощью TextBlock, я думаю:

<TextBlock Text="Lorem ipsum dolor sit">
    <TextBlock.Style>
        <Style TargetType="{x:Type TextBlock}">
            <Style.Triggers>
                <Trigger Property="IsEnabled" Value="False">
                    <Setter Property="Foreground"
                            Value="{StaticResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>
6 голосов
/ 10 октября 2016

Я немного поиграл и обнаружил, что половина непрозрачности дает тот же результат, что и IsEnabled = "False".

<TextBlock Text="test" Opacity="0.5" />

Преимущество: подходит для каждого цвета переднего плана.

2 голосов
/ 02 мая 2011

Вы можете поиграть с Background и применить SystemColor.
Вот пример для начала.

<TextBlock IsEnabled="True" 
        Background="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" 
        Name="textBlock" 
        Text="TEST TextBlock" 
        Height="30" />

Другой вариант - использовать свойство IsReadOnly TextBox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...