当顶部菜单项前景设置为黑色并且背景设置为白色时,XP 和 Windows 7 一切正常。但我们使用的是黑色和白色前景的主菜单栏。这只会在 Windows 7 中导致问题。为什么当您将菜单项前景设置为黑色时,它在禁用时不会变为灰色。
我在使用 Windows XP 和 7 时遇到了同样的问题。
Foreground="Black" 属性覆盖作为 IsEnabled 函数的内置样式触发器。
要完成您正在寻找的内容,需要使用 IsEnabled 上的触发器构建您自己的样式。以下代码显示了如何内联执行此操作,尽管您可能希望将 Style 拉入资源部分并在所有菜单项上使用它。
<MenuItem Header="My Item" IsEnabled="{Binding MyItemEnabled}">
<MenuItem.Style>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="Foreground" Value="Black"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
</MenuItem>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3226 次 |
| 最近记录: |