所以,我刚刚切换到Windows 10,我注意到我所有的桌面WPF应用程序都明显比在Win7/Win8上更加"丑陋".
我知道这听起来很主观/毫无意义,但让我更加精确.以下是UI可用性/清晰度的客观降级的一些示例:
button不会被夷为平地(再看看图片)ListView 在mouseOver上不突出显示项目ProgressBar在XP之前看起来有"蓝色片段" 编辑:
在另一台机器上测试后,发现该问题与 WPF 或 Windows 无关。
只是不要对互联网上找到的 win10 应用任何调整来恢复 Windows 边框的颜色。它搞乱了 WPF 主题引擎。
抱歉浪费你们的时间了。
好吧,我找到了如何修复它(感谢 gix 为我指明了正确的方向):
第一步:引用PresentationFramework.Aero2项目中的程序集
第二步:将以下内容添加到您的项目中App.xaml
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero2;component/themes/Aero2.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
现在看起来就像在 Windows 8 中一样。请注意,如果您想要 Windows 7 的外观,也可以使用而Aero不是Aero2(当然还要更改引用的 dll!),但我认为Aero2在 Win10 上看起来更加“原生”。
编辑:
经过进一步测试,事实证明这并不是 100% 完美,尽管它已经足够接近了。例如:禁用的文本框不会变灰,ListViews似乎根本不受影响,它们看起来仍然像是从Windows 98的屁股里爬出来的......如果有人知道如何让Aero2风格粘在它们上那就太好了