IsEnabled False 时丢失灰色

Lost Gray On IsEnabled False

设置 TextBlock 前景后 属性 然后我在按钮上的 IsEnable=False 上失去了灰色,并且在 ToolTip 上也失去了灰色。

如何设置 TextBlock 前景的样式而不影响 IsEnable=False 和 ToolTip?

<Style TargetType="TextBlock">
    <Setter Property="FontFamily" Value="Segoe UI Semilight" />
    <Setter Property="FontSize" Value="11" />
    <Setter Property="Margin" Value="4,1,0,1" />
    <Setter Property="Foreground" Value="{StaticResource  BrushDarkDarkBlue}" />
</Style>

只需将您的 Foreground setter 放在 Trigger 中,如果 IsEnabled 属性 的值为 true,则只会设置该值:

<Style TargetType="TextBlock">
    <Setter Property="FontFamily" Value="Segoe UI Semilight" />
    <Setter Property="FontSize" Value="11" />
    <Setter Property="Margin" Value="4,1,0,1" />
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="True">
            <Setter Property="Foreground" Value="{StaticResource BrushDarkDarkBlue}" />
        </Trigger>
    </Style.Triggers>
</Style>

IsEnabled 变为 false 时,将设置默认(模板/样式)值以保持此 "graying out" 效果。