WPF文本块灰色文本

时间:2010-06-21 19:01:36

标签: wpf textblock

我想在WPF文本块中灰显文本。我怎么做到的?

此致 拉朱

6 个答案:

答案 0 :(得分:7)

在C#上:

textBox.Foreground = Brushes.Gray;

在XAML上:

<TextBox Foreground="Gray" />

要禁用它(也会改变背景):

textBox.IsEnabled = false;

答案 1 :(得分:5)

您可以将TextBlock.Foreground属性设置为任何颜色(技术上,任何画笔)。如果你想让它变灰,只需设置:

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

如果您希望它看起来“已禁用”,则可以将IsEnabled设置为false:

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

答案 2 :(得分:4)

IsEnabled的{​​{1}}标记不会使文字变灰。 This post详细说明了textblock和标签之间的差异。它还显示XAML在textblock上添加触发器以使文本变灰。

答案 3 :(得分:3)

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>

答案 4 :(得分:1)

使用TextBox的麻烦在于它周围有一个方框。如果您使用Label(Content =&#34; Foo&#34;),则可以使用IsEnabled切换文本颜色。否则,它的行为类似于TextBlock的短标题/标签。

答案 5 :(得分:-2)

改用TextBox并设置IsReadOnly = trueIsEnabled = false