基于WPF系统框架设计(1)-为什么要仿Office2010 Ribbon?
为什么系统框架设计使用Ribbon导航模式? 这得从Office软件的演变说起。微软为什么最后选择使用Ribbon,也许就是很多系统设计要使用Ribbon做功能导航的原因。
你是否还记得曾经使用过的Microsoft Office界面?
- 自Microsoft Office诞生之日起,工具栏和菜单栏主导着用户的软件使用操作。

- 并在Microsoft Office 2.0中引入了嵌入式对话框。

- 随着Microsoft Office版本的更新,功能的增加,菜单栏和工具栏的数量也随之增多。

- 在Microsoft Office95中,工具栏已曾加至9个。

- 而在Microsoft Office 97版本中,增加了诸多激动人心的功能,工具栏的数量也较之前版本翻倍增长。

- Microsoft Office 2000第一次在菜单栏中引用了可扩展的个性化菜单栏设计。

- 自Microsoft Office 2002开始,除了传统的菜单栏和命令栏操作外,第一次出现了任务窗格。

- 到了Microsoft Office2003,我们发现工具栏已经增加到了31个,并包含19个任务窗格。

- 在Microsoft Word产品中菜单栏命令的数量增长。

- 在Microsoft Word产品中工具栏和任务窗格的增长。

- 传统的Office用户界面带来的问题:

- 确实,在功能强大的Microsoft Office工具中,传统的用户界面已经难以满足用户的操作体验。

- Office 2010来了,引领跨界新体验:电脑,手机,浏览器。

- 全新的Microsoft Office 2010使用界面,一切以用户工作成果为导向,操作更轻松,使用更方便。

- 以工作成果为导向的客户端工具
- 可扩展的,面向工作成果的全新工作界面
- 更快速、更智能地开展工作

- 全新的用户界面结构
在Microsoft Office 2010中的所有产品中,均采用了全新的工作界面,帮助用户实现最佳成果新体验。

- 更容易找到所需要的命令

- 更加智能地将需要的命令推送给用户

- 让所有的功能可以更方便地使用

Office 2010的强大导航功能,是不是值得我们做大型/复杂管理软件界面框架设计参考?
基于WPF系统框架设计(1)-为什么要仿Office2010 Ribbon?的更多相关文章
- 基于WPF系统框架设计(5)-Ribbon整合Avalondock 2.0实现多文档界面设计(二)
AvalonDock 是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件.最新发布的版本原生支持MVVM框架.Aero Snap特效并具有更好的性能. Ava ...
- 基于WPF系统框架设计(4)-Ribbon整合Avalondock 2.0实现多文档界面设计(一)
前些时间研究了WPF的一些框架,感觉基于Prism框架的MVVM模式对系统的UI与逻辑分离很好,所以就按照之前Winform的框架设计,用WPF做了一套,感觉比Winform要强很多. MVVM模式和 ...
- 基于WPF系统框架设计(3)-Fluent Ribbon界面布局
一个系统框架除了功能菜单导航,有系统内容显示区域,系统状态栏. Silver: Blue: Black: 系统界面设计,就不进行技术细节介绍了,主题以框架设计为主,Xaml源码参考: <Flue ...
- 基于WPF系统框架设计(6)-整合MVVM框架(Prism)
应用场景 我们基础的框架已经搭建起来了,现在整合MVVM框架Prism,在ViewModel做一些逻辑处理,真正把界面设计分离出来. 这样方便我们系统开发分工合作,同时提高系统可维护性和灵活性. 具体 ...
- 基于WPF系统框架设计(2)-Fluent Ribbon之HelloWorld
Fluent/Ribbon是微软在其最新桌面操作系统Windows 7中使用的图形用户界面. Windows平台的进化,伴随着系统图形界面的重新设计.从Windows XP到Windows Vista ...
- 基于WPF系统框架设计(8)-PasswordBox传值到ViewMode
应用场景 我要做一个系统登录功能,需要传用户名和密码到ViewModel中,可是PasswordBox传值到ViewModel中好像跟TextBox等控件不一样.这里需要用到附加属性. 附加属性:一个 ...
- 基于WPF系统框架设计(7)-TextBox/PasswordBox在ViewModel中支持回车命令
应用场景 我现在做一个系统登录功能,要求在PasswordBox上输完密码后回车,能够响应Enter事件,并执行ViewModel中对应的方法.如果登录成功则隐藏当前窗口显示主窗体,登录失败则焦点返回 ...
- 基于WPF系统框架设计(10)-分页控件设计
背景 最近要求项目组成员开发一个通用的分页组件,要求是这个组件简单易用,通用性,兼容现有框架MVVM模式,可是最后给我提交的成果勉强能够用,却欠少灵活性和框架兼容性. 设计的基本思想 传入数据源,总页 ...
- 基于WPF系统框架设计(9)-多值绑定之IMultiValueConverter
应用场景 我想把View层的一个布局控件和功能按钮传到ViewModel层,达到动态变更布局,同时灵活获取功能按钮的属性,让View和ViewModel完全分离,而不受View层影响. 最后我想到使用 ...
随机推荐
- IOS开发学习笔记013-内存管理
内存管理 1.基本知识 2.关闭ARC机制 3.@property 4.循环引用 5.自动释放池 6.内存管理总结 一.基本知识 内存的分类 栈:局部变量 堆:动态申请的对象,变量等 全局(静态):s ...
- Python-S9——Day115-Flask Web框架
01 当日内容概要 1 当日内容概要 1.1 Flask基础: 1.2 Web框架包含的基础组件: 1.2.1 路由.视图函数.模板渲染: 1.3 Flask配置文件: 1.4 Flask的路由系统: ...
- Linux之ubuntu系统操作学习笔记
1,swp分区:当内存不够时用swp分区顶替内存 2,语言环境检查 locale –a:可以明白系统支持什么语言 3,安装软件: apt-cache search(软件):搜索软件 apt-cach ...
- Wordpress 通过 post id 获取文章 url
global $post; echo get_permalink($post->ID); 函数详解: Codex - get_permalink() 注意:有些链接是通过 SEO 重定向的,比如 ...
- 06 JVM 是如何处理异常的
在 JAVA 中,异常处理的方式主要是抛出异常和捕获异常.这两大要素共同实现程序控制流的非正常转移. 抛出异常可以分为显示和隐式两种.显示抛出异常的主体是应用程序,它指的是在程序中使用 throw 关 ...
- linux命令之grep、cut
输入: ifconfig eth0 eth0表示主机的第一块网卡. 输出: eth0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu inet 19 ...
- LFTP下载远程文件
拓展阅读: https://linux.cn/article-5460-1.html
- call、apply与bind在理解
call() 方法在使用一个指定的 this 值和若干个指定的参数值的前提下调用某个函数或方法. fun.call(thisArg[, arg1[, arg2[, ...]]]) apply() 方法 ...
- [CQOI2016][bzoj4519] 不同的最小割 [最小割树]
题面 传送门 思路 首先我们明确一点:这道题不是让你把$n^2$个最小割跑一遍[废话] 但是最小割过程是必要的,因为最小割并没有别的效率更高的算法(Stoer-Wagner之类的?) 那我们就要尽量找 ...
- 购物(sum)
购物(sum) 题目描述 visit_world 有一个商店,商店里卖N个商品,第ii 个的价格为 a[[i] 我们称一个正整数K 是美妙的,当且仅当我们可以在商店里选购若干个商品,使得价格之和落在区 ...