Как отключить TextBlock?
Я хочу, чтобы мой TextBlock выглядел отключенным (выделено серым цветом), но когда я устанавливал свойство IsEnabled
на false, ничего не происходит, он остается черным:
<TextBlock Text="test" IsEnabled="False" />
Почему это?
Также я попытался использовать Label
, но по какой-то причине размер больше по размеру, поэтому он испортит все мои макеты.
Ответы
Ответ 1
Это был бы правильный способ сделать это с помощью 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>
Ответ 2
Я немного поиграл и обнаружил, что половина непрозрачности дает тот же результат, что и IsEnabled = "False".
<TextBlock Text="test" Opacity="0.5" />
Преимущество: оно подходит для каждого цвета переднего плана.
Ответ 3
Вы можете играть с фоном и применять SystemColor.
Вот пример, чтобы вы начали.
<TextBlock IsEnabled="True"
Background="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}"
Name="textBlock"
Text="TEST TextBlock"
Height="30" />
Другой вариант - попробовать свойство IsReadOnly для TextBox.