WPF功能区在XP中更改标题栏样式

时间:2011-10-31 07:47:25

标签: wpf visual-studio-2010 windows-7 windows-xp

[EDITED]

经过多次尝试,我发现是Microsoft WPF功能区导致标题栏样式无法正确呈现。

XP中没有功能区的应用程序:enter image description here

使用功能区在XP中的应用程序:enter image description here

我已经将主题设置为XP风格。仍然没有解决。这是Microsoft Ribbon中的一个错误,还是我错过了什么?另一方面,在Window 7上,呈现OK。

在WPF C#.NET 4,VS2010上开发。

2 个答案:

答案 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}"