原因:引用于https://www.zhihu.com/question/48925705
WPF 项目在默认没有内嵌某个 manifest 或没有调用某 API 的情况下默认使用 Version 5 的 ComCtl32.dll,而只有 Version 6 的才会让系统控件显示成现在系统真正的样子解决方法也很简单——找个有声明使用 ComCtl32.dll Version 6 的 manifest 添加到项目并在项目属性里指定它,或者在 App.OnStartup() 里直接调用 System.Windows.Forms.dll 的Application.EnableVisualStyles()
解决方案:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
System.Windows.Forms.Application.EnableVisualStyles();
}
}