使WPF程序应用预置的控件风格, 如Aero, Luna, Royale, Classic等
其实很简单, 下面实例如何设定为Aero主题:
在WPF项目中添加PresentationFramework.Aero.dll这个引用, 然后在程序的Resources中加入
< ResourceDictionary Source ="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35;component/themes/aero.normalcolor.xaml" />
</ Application.Resources >
注意, 项目必须引用主题对应的Assembly, 比如PresentationFramework.Aero.dll, PresentationFramework.Royale.dll等等, 它们可以在"Program Files\Reference Assemblies\Microsoft\Framework\v3.0" 或者 GAC中找到.
上面的XAML代码也可以使用相应的C#代码代替, 比如在Application的Startup事件处理函数中加入代码:
{
base .OnStartup(e);
Uri aero = new Uri( " /PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35;component/themes/aero.normalcolor.xaml " , UriKind.Relative);
Resources.MergedDictionaries.Add(Application.LoadComponent(aero) as ResourceDictionary);
}
要指定其他主题的方法也差不多, 也就是引用相关dll和添加Resources. WPF中的Aero主题和Windows Vista里的Aero主题控件风格完全一样, 包括譬如MouseEnter时的动画效果, 下面是在启用了Luna Element 4 视觉效果的Windows 2003系统运行的使用了Aero主题的WPF程序截图:
但WPF里的Aero主题在非Windows Vista系统是没有玻璃效果的.. 那不是GDI就能做到的东西..
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Django项目部署
一、Nginx+uWSGI+Django部署生产环境 原理 为什么还要Nginx Django有个runserver直接起了一个WebServer,为什么还要Nginx起一个WebServer呢? Nginx的性能比Django自带的WebServer要好 大家是否想过,我们用Python写的程序(Django是Python写的),想要被WEB访问是不是还要有一个Python写的WEB Server? 就拿Nginx举例他是什么写的?C写的,代码上不同!!! 常见的Python HTTP服务器 Name Version http1.1 Flavour Repo Community uWSGI Trunk(253) Yes processor/thread repo Mailing List Gunicorn 0.6.4 No processor/thread GIT #gunicorn wsgiref Py 2.6.4 No processor/thread SVN Mailing List Twisted 10.0.0 Yes processor/thread SVN Communi...
- 下一篇
Shiro | 实现权限验证完整版
写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源安全框架。 2、Shiro提供了 认证,授权,企业会话管理、安全加密、缓存管理。 3、Shiro与Security对比 4、Shiro整体架构 5、特性 6、认证流程 认证 当我们理解Shiro之后,我们就能比较容易梳理出认证流程,大概就是下面这样子。 我们来看一段测试代码: // 1.构建SecurityManager环境 DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager(); defaultSecurityManager.setRealm(simpleAccountRealm); // 2.主体提交认证请求 SecurityUtils.setSecurityManager(defaultSecurityManager); Subject subject = SecurityUtils....
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16