[EDITED]
经过多次尝试,我发现是Microsoft WPF功能区导致标题栏样式无法正确呈现。
XP中没有功能区的应用程序:
使用功能区在XP中的应用程序:
我已经将主题设置为XP风格。仍然没有解决。这是Microsoft Ribbon中的一个错误,还是我错过了什么?另一方面,在Window 7上,呈现OK。
在WPF C#.NET 4,VS2010上开发。
答案 0 :(得分:0)
为什么要关心?这是一个用户设置,在Vista或7中启用或不启用Aero,在XP中启用或不启用主题,就像您发送的2和3张图片一样。
一般来说,你应该忽略这一点。带有功能区UI的Office 2007和2010渲染相同,但因为色带完全为应用程序窗口蒙皮。
我的建议是使用皮肤并做同样的事情或者只是忽略这一点,因为如果我在启用Aero的情况下使用Vista,我不希望你的应用程序看起来像经典的Win2000应用程序。
答案 1 :(得分:0)
这无论如何都是窗口标题栏的问题,因为它将使用您正在使用的操作系统的默认主题。
我建议您通过实现自定义窗口样式来中和样式,该窗口样式使Windows 7看起来对您的应用程序的所有窗口都感觉良好。查看最新的扩展WPF工具包中的MessageBox控件。
如果您使用
,它有一个windows 7样式,在所有上述操作系统中看起来完全相同 Window.AllowsTransparency="False"
Window.WindowStyle="None"
Window.Style="{StaticResource Windows7WindowStyle}"