【发布时间】:2013-10-17 11:50:06
【问题描述】:
我有一个带有多行文本的按钮:
<Button x:Name="Start" IsEnabled="False">
<TextBlock TextWrapping="Wrap">Some Text</TextBlock>
</Button>
如果IsEnabled 是False,则按钮被禁用,但按钮内的文本仍然是黑色的。
如何将button-text 设置为“禁用样式” - 颜色?
【问题讨论】:
我有一个带有多行文本的按钮:
<Button x:Name="Start" IsEnabled="False">
<TextBlock TextWrapping="Wrap">Some Text</TextBlock>
</Button>
如果IsEnabled 是False,则按钮被禁用,但按钮内的文本仍然是黑色的。
如何将button-text 设置为“禁用样式” - 颜色?
【问题讨论】:
似乎如果您将 TextBlock 包装在标签中,它将遵循 IsEnabled 样式更改:
<Button x:Name="Start" IsEnabled="False">
<Label>
<Label.Content>
<TextBlock Text="Some Text" TextWrapping="Wrap"/>
</Label.Content>
</Label>
</Button>
【讨论】:
有一个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>
【讨论】: