我希望我的TextBlock看起来已禁用(灰显)但是当我将IsEnabled
属性设置为false时,没有任何反应,它会保持黑色:
<TextBlock Text="test" IsEnabled="False" />
为什么?
此外,我尝试使用Label
,但由于某些原因,它的尺寸更大,所以它会弄乱我的所有布局。
答案 0 :(得分:48)
这是使用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>
答案 1 :(得分:6)
我玩了一点,发现半透明度与IsEnabled =“False”的结果相同。
<TextBlock Text="test" Opacity="0.5" />
优点:它适合每种前景颜色。
答案 2 :(得分:2)
您可以使用背景并应用SystemColor 这是一个让你入门的例子。
<TextBlock IsEnabled="True"
Background="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}"
Name="textBlock"
Text="TEST TextBlock"
Height="30" />
您的另一个选择是尝试TextBox的IsReadOnly属性。