WPF程序在Windows 7下应用Windows 8主题

简介: 原文:WPF程序在Windows 7下应用Windows 8主题 这篇博客介绍如何在Windows 7下应用Windows 8的主题。 首先我们先看一个很常见的场景,同样的WPF程序(样式未重写)在不同的操作系统上展示会有些不同。
+关注继续查看
原文: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主题的程序,结果如下:

 

PresentationFramework.Aero Theme相关的assembly可以在 C:\Windows\Microsoft.NET\assembly\GAC_MSIL目录下找到.

通过ILSpy获得WPF不同主题assembly对应的样式字典,

感谢您的阅读!

目录
相关文章
|
C# 容器
WPF模板(二)应用
原文:WPF模板(二)应用           本次内容来源于电子书,和上一篇一样。 在WPF中有三大模板ControlTemplate,ItemsPanelTemplate,DataTemplate.其中ControlTemplate和ItemsPanelTemplate是控件模板,DataTemplate是数据模板,他们都派生自FrameworkTemplate抽象类。
759 0
|
C# 编解码 区块链
WPF中应用字体图标
原文:WPF中应用字体图标 一、什么是字体图标          我们在进行GDI(图形界面)编程的过程中图标是不可少的。近些年随着网络的繁荣和移动应用的繁荣,矢量图的应用越来越火。          矢量图是一种用数学方法描述的、由一系列点和线组成的图,因此相比位图文件比较小,并且还和分辨率无关。
920 0
|
C# Windows
使WPF程序应用预置的控件风格, 如Aero, Luna, Royale, Classic等
原文:使WPF程序应用预置的控件风格, 如Aero, Luna, Royale, Classic等      WPF预设有Aero, Classic, Luna, Royale主题, WPF程序会根据Windows主...
1187 0
|
C#
用Microsoft.Solver.Foundation进行线性规划,为WPF应用添加智能
原文:用Microsoft.Solver.Foundation进行线性规划,为WPF应用添加智能   在管理信息系统的开发过程中,往往会涉及到一些线性规划数学模型,例如资源配置优化。微软的Microsoft.Solver.Foundation是一个数学库,可以很好的对线性规划问题进行求解。
1299 0
|
C# Windows Web App开发
WPF 应用完全模拟 UWP 的标题栏按钮
原文:WPF 应用完全模拟 UWP 的标题栏按钮 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:http://blog.csdn.net/wpwalter/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
966 0
|
C# 数据安全/隐私保护 Windows
WPF Event 在 Command 中的应用初级篇,支持所有Event 展示松耦合设计的全部代码 - 解决TextBoxBase.TextChanged或者TextBox.TextChanged等类似事件绑定问题。
原文:WPF Event 在 Command 中的应用初级篇,支持所有Event 展示松耦合设计的全部代码 - 解决TextBoxBase.TextChanged或者TextBox.TextChanged等类似事件绑定问题。
1236 0
|
C# 小程序
WPF 3D变换应用
原文:WPF 3D变换应用  WPF可以提供的3D模型使我们可以轻松地创建3D实体,虽然目前来看还很有一些性能上的问题,不过对于一些简单的3D应用应该是可取的,毕竟其开发效率高,而且也容易上手。         下面给大家演示的是使用在WPF 3D上实现视角变换,通过鼠标拖动来变换观察视角,通过滚轮来放缩视距。
664 0
|
C#
WPF DispatcherTimer(定时器应用) 无人触摸60s自动关闭窗口
原文:WPF DispatcherTimer(定时器应用) 无人触摸60s自动关闭窗口 如果无人触摸:60s自动关闭窗口 xmal:部分             OK        你好!    cs:部分 //60s无人操作自动关闭        DispatcherTimer dTi...
1479 0
|
C#
WPF - 模板查看工具:Show Me The Template及如何查看第三方主题
原文:WPF - 模板查看工具:Show Me The Template及如何查看第三方主题   在学习WPF的模板(DataTemplate、ItemsPanelTemplate、ControlTemplate)时,经常会想看看WPF内建的控件模板。
1537 0
|
C# Windows
让你的WPF程序在Win7下呈现Win8风格主题
原文:让你的WPF程序在Win7下呈现Win8风格主题 今天在Win8下使用了一个我之前写的一个WPF程序的时候,发现现在也支持Win8效果了(记得以前的.net 4.0的版本是不支持的)。由于WPF的控件是自绘的,并不受系统主题所控制,也就是说.net 4.5中是附带了Win8主题样式文件的,按理说这个风格在Win7下也可以使用的。
1171 0
相关产品
云迁移中心
推荐文章
更多