如何使 WPF 应用程序在 Windows 经典风格和 Windows XP 风格中都一样?

Posted

技术标签:

【中文标题】如何使 WPF 应用程序在 Windows 经典风格和 Windows XP 风格中都一样?【英文标题】:How to make a WPF application the same in both Windows classic style and windows XP style? 【发布时间】:2011-09-25 03:39:22 【问题描述】:

我在 WPF 中编写了一个应用程序。我正在为我的应用程序使用微软网站上提供的标准 BlueTheme。该应用程序在具有 Windows XP 风格的 Windows XP 中看起来很棒。在下面的屏幕截图中,我们可以看到带有圆边的按钮和所有东西。

屏幕截图 1(Windows XP 风格):

然后我在我的桌面上右击并进入外观并选择了windows经典风格。然后应用程序看起来很糟糕。现在所有按钮都有方形边缘。

屏幕截图 2(Windows 经典风格):

我认为在互联网上搜索过,人们建议包含 PresentationFramework.Aero 主题。但问题仍然存在。

[编辑] 我添加了以下行。还是不行!

<Window.Resources>
          <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
 </Window.Resources> 

我的问题是如何让 WPF 应用程序在 Windows 经典风格和 Windows XP 风格中都一样?

【问题讨论】:

【参考方案1】:

将其放入您的窗口/应用程序资源中:

<Window.Resources>
    <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, 
    PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
</Window.Resources> 

它将启用 Aero 风格与其他 Windows 主题(XP/Classic)。

【讨论】:

以上是关于如何使 WPF 应用程序在 Windows 经典风格和 Windows XP 风格中都一样?的主要内容,如果未能解决你的问题,请参考以下文章

AdonisUI - 用于 WPF 应用程序的轻量级 UI 工具包,提供经典但增强的 Windows 视觉效果...

如何使 WPF 窗口在任务栏上闪烁?

如何使 WPF ScrollViewer 中键单击滚动?

如何使 WPF 按钮看起来像一个链接?

WPF:如何设置或禁用 TextBox 的默认 ContextMenu

System.Threading.dll 使 WPF 应用程序在 30 多秒内启动