为什么WPF不在Windows 8中显示Windows 8样式按钮

这是一个Windows 8风格的按钮:

这是.NET 4.5 WPF应用程序中的一个按钮:

任何想法为什么WPF不显示本机Windows 8样式按钮? 有没有办法来解决这个问题?

你可以做的是使用HERE的自定义WPF样式。

下面是应用于多个状态的同一WPF应用程序的样式的屏幕截图。 顶部显然是Aero主题,底部设置是新应用的样式。

这里是XAML的链接。

WPF不使用任何本机Windows控件 – 它为不同的Windows版本提供了自己的控件和样式。 在Windows 7上,您可以找到以下程序集

 PresentationFramework.Aero.dll PresentationFramework.Classic.dll PresentationFramework.Luna.dll PresentationFramework.Royale.dll 

我认为Windows 8有一个新版本。由于WPF不是基于本机控件构建的,因此可以在Windows 7上安装XP风格的WPF应用程序,在Windows XP上安装Windows-7风格的应用程序。

如果您想要比WPF提供的开箱即用更好地匹配原生Windows 8 UI,您将必须创建自己的样式 – 可能基于WPF提供的样式。