首页 > 代码库 > WPF程序在Windows 7下应用Windows 8主题
WPF程序在Windows 7下应用Windows 8主题
这篇博客介绍如何在Windows 7下应用Windows 8的主题。
首先我们先看一个很常见的场景,同样的WPF程序(样式未重写)在不同的操作系统上展示会有些不同。这是为什么呢?WPF程序启动时会加载与操作系统对应的主题。下面将列出常见的OS主题与WPF主题的关系。
针对不同操作系统的主题,WPF程序会加载不同的主题assembly。这样就形成了同样的XAML代码在不同的OS中展示效果。
回到这篇博客的主题,为Windows 7下的WPF程序应用Windows 8主题。通过上面的表格,可以知道,如果我们能够给WPF程序应用上PresentationFramework.Aero2.dll的主题就可以了。
1. WPF程序中添加PresentationFramework.Aero2.dll引用;
2. 将PresentationFramework.Aero2.dll的Copy Local属性设置为True;
3. 在App.xaml中添加下面的Resource;
<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/PresentationFramework.AeroLite;component/themes/AeroLite.NormalColor.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary></Application.Resources>
此时在Windows 7环境下运行应用Windows 8主题的程序,结果如下:
可以通过ILSpy获得WPF不同主题assembly对应的样式字典,
感谢您的阅读!
WPF程序在Windows 7下应用Windows 8主题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。