我有 ac# 业务应用程序(仍然针对 .net 4.0)。安装 .net 4.5 后,数据网格行的非活动前景色发生了变化。(我没有重新编译,仍然执行相同的二进制文件)
似乎他们改变了前景色的对比色计算。
更多细节。Datagrid 是这样定义的:
<DataGrid Background="White" AlternatingRowBackground="WhiteSmoke" ... />
我们还以这种方式为 Datagrid 定义了一个全局样式:
<Style TargetType="{x:Type DataGrid}">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{DynamicResource ItemSelectedFocusedColor}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{DynamicResource ItemSelectedFocusedColor}"/>
</Style.Resources>
</Style>
颜色:<Color x:Key="ItemSelectedFocusedColor">#88087ED1</Color>
在安装了 .net 4 的情况下执行应用程序时,未聚焦的Datagrid 行的前景文本颜色为White。在安装了 .net 4.5 的情况下执行应用程序时,未聚焦的Datagrid 行的前景文本颜色为Black。
如果数据网格具有焦点,则行为是相同的。(两个版本均为白色)
对我来说,这是就地更新的重大变化。我所有的客户都应该获得完全相同的用户体验,而与安装的版本无关。
我在MSDN .net 4.5 Application Compatibility上也找不到有关此问题的任何信息