RibbonControl中的主题设计
Ribbon+扁平化
据调查,其实人们可能最多只用到全部 Office 功能的 5%,为此,微软交互式团队推出了Ribbon风格,一时间,很多软件升级后都换成了Ribbon界面;扁平化其实不是新东西,但Windows 8了引领扁平化风潮,又一时间,很多软件也开始扁平。其实,风格的改变一方面是为了审美,另一方面更重要是为了简化,更人性化,让用户来学得更快,用得更好,所以,内容的简化也是一项同样非常重要的工作。
在应用程序开发中,我们经常换用不同的主题,但很少换背景,今天来尝试一下背景的切换,让程序更个性化,如下图为Office的"春天"背景,给人草长莺飞的意境……

实现效果
下面的背景是自定义的图片,基本达到类似Office的效果。
Visual Studio 2012风格:

Metro风格:

Office2016彩色风格:

实现方法
主要在设置BackgroundImage的背景,其大小是500*60,当然,你也可以适当调整宽度。BackgroundImageStock为内置的风格(默认将图片以十六进制直接写在资源文件里),种类比较多,并不是所有主题图片都符合应用程序,所以需要自定义图片。

在自定义图片时,除了注意大小外,还要设置好颜色,颜色拾取的是RGB29,29,29,但还在调整不透明度和填充才能达到即不突兀又能适合多种主题的效果。(仔细看,下面的视图窗口是有图片的)

可以根据实际的主题,定义相应的素材,软件设计也是一种设计!

RibbonControl中的主题设计的更多相关文章
- 看懂此文,不再困惑于 JS 中的事件设计
看懂此文,不再困惑于 JS 中的事件设计 今天刚在关注的微信公众号看到的文章,关于JS事件的,写的很详细也很容易理解,相关的知识点都有总结到,看完就有种很舒畅的感觉,该串起来的知识点都串起来了.反正一 ...
- JS 中的事件设计
看懂此文,不再困惑于 JS 中的事件设计 原文出处: aitangyong 抽空学习了下javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享. (一)事件绑定的几种方式 ...
- Gtk-WARNING**:无法在模块路径中找到主题引擎:“pixmap”的解决
Gtk-WARNING**:无法在模块路径中找到主题引擎:“pixmap”的解决 解决以上问题, 只需要安装 gnome-themes-standard 即可 如果终端中提示: (gvim:23 ...
- 推荐一款基于Angular实现的企业级中后台前端/设计解决方案脚手架
ng-alain 是一个企业级中后台前端/设计解决方案脚手架,我们秉承 Ant Design 的设计价值观,目标也非常简单,希望在Angular上面开发企业后台更简单.更快速.随着『设计者』的不断反馈 ...
- Ceph中Bufferlist的设计与使用
转自:https://www.ustack.com/blog/bufferlist/ 如果非要在整个Ceph中,找出一个类最重要,我觉得非Bufferlist莫属了,原因很简单,因为Bufferlis ...
- mysql中数据库的设计
软件开发流程(CMMI): 1):项目启动; 2):项目计划: 3):需求分析; 需要得到的结果是什么? 4):系统设计; 该怎么做? 5):系统开发; 6):系统测试; 7):系 ...
- 在Eclipse中使用WindowBuilder设计Swing程序
在Eclipse中使用WindowBuilder设计Swing程序 Swing程序表示Java的客户端窗体程序,除了通过手动编写代码的方式设计Swing程序之外,Eclipse中还提供了一种W ...
- Java实现图形界面的三部曲及IDE中的窗口设计
设计和实现图形用户界面的工作主要有以下几点: • (1)创建组件(Component) • 创建组成界面的各种元素,如按钮.文本框等.• (2)指定布局(Layout) • 根据具体需要排列它们的位置 ...
- 多测师_高级肖sir分享pycharm中设置主题和设置代码颜色方法
一.修改pycharm中的主题颜色 二.修改代码颜色 File-->Settings-->Editor--> Color Scheme-->Language Defaults- ...
随机推荐
- OLE文件拖放
使用IDropTarget接口同时支持文本和文件拖放 关于Windows的外壳扩展编程,拖放是比较简单的一种,在网上可以找到不少介绍这个技巧的文章.大部分是介绍使用MFC的COleDropTarget ...
- CentOS 安装 nexus (maven 私服)
原文:https://www.sunjianhua.cn/archives/centos-nexus.html 1.下载 wget http://download.sonatype.com/nexus ...
- 解决警告 warning: directory not found for option
解决方法: 选择项目名称----->Targets----->Build Settings----->Search Paths----->Library Search Path ...
- 错误:update 忘了加 where
职业生涯应该都犯过的错误,幸好是在开发库,生产环境的库真是要严格的进行权限管理和脚本执行流程规范.
- [Hook] 免root,自己进程内,binder hook (ClipboardManager)
cp from : http://weishu.me/2016/02/16/understand-plugin-framework-binder-hook/ Android系统通过Binder机制给应 ...
- .NetCore中EFCore for MySql整理
一.MySql官方提供了Ef Core对MySql的支持,但现在还处于预览版 Install-Package MySql.Data.EntityFrameworkCore -Pre Install-P ...
- 光流法(optical flow)
光流分为稠密光流和稀疏光流 光流(optic flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了.因为这种视觉现象我们每天都在经历.从本质上说,光流就是你在这个运动着的世界里感 ...
- Invalid Host header 的解决方案
composer 显示:Invalid Host header的解决方案 I have tried this workaround: Edit the following line in node_m ...
- Ubuntu下搭建Hyperledger Fabric v1.0环境
多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...
- android获取sd卡路径方法
public String getSDPath(){ File sdDir = null; boolean sdCardExist = Environment.getExternalStorage ...