WPF多行按钮禁用

时间:2013-10-17 11:50:07

标签: c# wpf button multiline

我有一个带有多行文字的按钮:

<Button x:Name="Start" IsEnabled="False">
  <TextBlock TextWrapping="Wrap">Some Text</TextBlock>
</Button>

如果IsEnabledFalse,则按钮被禁用,但按钮内的文字仍为黑色。

如何将button-text设置为“禁用样式” - 颜色?

2 个答案:

答案 0 :(得分:6)

似乎如果将TextBlock包装在Label中,它将遵循IsEnabled样式更改:

<Button x:Name="Start" IsEnabled="False">
    <Label>
        <Label.Content>
            <TextBlock Text="Some Text" TextWrapping="Wrap"/>
        </Label.Content>
    </Label>
</Button>

答案 1 :(得分:0)

拥有一个DataTrigger,如果禁用该按钮,则更改TextBlock的前景。

<TextBlock.Style>
<Style TargetType=TextBlock>
...
    <Style.Triggers>
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=IsEnabled}" Value="False" >
            <Setter Property="Foreground" Value="..." />
        </DataTrigger>
    </Style.Triggers>
</Style>