Ribbon (WPF)
Ribbon (WPF)
在本文中主要包含以下内容:
- Ribbon组件和功能
- 应用程序菜单
- 快速访问工具栏
- 增强的工具提示
Ribbon是一个命令栏,它将应用程序的功能组织到应用程序窗口顶部的一系列选项卡中。Ribbon用户界面(UI)增加了特性和功能的可发现性,使用户能够更快地学习应用程序,并使用户能够更好地控制他们的应用程序体验。Ribbon取代了传统的菜单栏和工具栏。
微软的Ribbon 是Windows Presentation Foundation (WPF)是一个WPF一个组件,它包含了所有基本Ribbon的特性和功能,包括选项卡、组、控件、快速访问工具栏、与窗口标题栏的集成,以及通过动态布局调整大小。
提示:
本文档是针对WPF的Microsoft Ribbon说明。如果你刚刚开始使用Ribbon,或者需要关于Ribbon UI的一般信息,请参阅Windows用户体验交互指南中的Ribbon主题。有关特定于其他Ribbon实现的文档,请参阅本主题末尾的附加参考资料部分。
Ribbon组件和功能
Ribbon控件由几个组件组成。每个Ribbon都有一个应用程序菜单,一个快速访问工具栏,选项卡,组和控件。Ribbon选项卡包含组,每个组包含控件。Ribbon控件包括简单的控件,如按钮、复选框和文本框;以及菜单控件,如组合框、拆分按钮和菜单按钮。相关的控制可以进一步组合成控制组。除了必需的组件外,Ribbon还可以包含可选组件,例如上下文选项卡、增强的工具提示和图库。
下图显示了一个简单的文本编辑器应用程序,带有ribbon命令栏,类似于Windows 7的写字板应用程序。

应用程序菜单
每个Ribbon都包含一个应用程序菜单作为该Ribbon中的第一个选项卡。其他Ribbon选项卡包含用于处理文档内容的控件。相反,应用程序菜单提供了一个用于处理文件的命令菜单。示例包括传统上在文件菜单中创建、打开、保存和打印文件的命令。它还用于访问应用程序选项和退出命令。
下图显示了Ribbon控件的应用程序菜单。

快速访问工具栏
每个Ribbon都包含一个快速访问工具栏。快速访问工具栏是一个小的、可自定义的工具栏,它提供了对常用命令的访问,与选择哪个Ribbon选项卡无关。默认情况下,快速访问工具栏位于应用程序窗口的标题栏中,但可以将其配置为显示在Ribbon下方。指定在快速访问工具栏中显示的默认命令集,用户还可以从Ribbon中选择要在快速访问工具栏中显示的命令。
增强的工具提示
Ribbon控件具有增强的工具提示,使您能够完整地描述相关命令。还可以使用图形来说明命令的效果。
下图显示了Ribbon控件的增强工具提示。

KeyTips
每个Ribbon都可以通过使用KeyTips进行键盘导航。当按下ALT键时,键提示会显示在Ribbon中的所有选项卡上。当按下与选项卡关联的字母或数字时,将显示该选项卡上所有控件的KeyTips。当按下与控件关联的键时,将选择该控件并执行关联的操作。
下图显示了ribbon控件的KeyTips。

调整大小和布局
当应用程序窗口变窄或变宽时,Ribbon会动态调整大小,以便始终在最佳布局中显示尽可能多的控件。Ribbon还根据从左到右或从右到左的文档流调整其内容。有关动态调整大小的详细信息,请参阅Ribbon布局和调整大小。
Ribbon窗口
一些Ribbon组件(如Quick Access Toolbar和上下文选项卡标头)绘制在应用程序窗口标题栏的非客户端区域。这是在WPF的Microsoft功能区中通过使用根元素RibbonWindow而不是根元素Window来完成的。RibbonWindow类实现了在标题栏区域呈现必要的ribbon组件所需的互操作代码。在RibbonWindow元素中不需要使用Microsoft Ribbon for WPF,但是如果需要集成标题栏,这是实现它的最简单方法。如果不使用RibbonWindow元素,则所有组件都将绘制在窗口的客户端区域中。
下载并安装Microsoft Ribbon for WPF
Microsoft Ribbon for WPF是一个独立的控件,可以与。net Framework 3.5 SP1和更高版本一起使用。您可以从Microsoft下载中心下载Microsoft Ribbon for WPF安装程序。安装程序包括使用功能区所需的程序集和许可文件,以及Visual Studio 2010和Expression Blend 4的项目模板和设计器支持。
- Download the Microsoft Ribbon for WPF Installer
其他资源
有关Microsoft Office Ribbon的信息,请参阅以下参考资料。
-
Office Fluent User Interface Developer Center
-
Ribbon Overview – Office应用程序中定制Ribbon的文档
-
Office UI Licensing Developer Center – 关于Office UI许可在您自己的应用程序中使用的信息。
有关Microsoft Windows 7功能区框架的信息,请参阅以下参考资料。
-
Learn about Windows 7: Windows Ribbon Framework – Windows 7开发人员中心
-
Windows Ribbon Framework – 参考文档.
有关MFC功能区的信息,请参阅以下参考资料。
-
Ribbon Designer (MFC)
-
CMFCRibbonBar Class
相关文章:
Ribbon (WPF)
Ribbon (WPF) 在本文中主要包含以下内容: Ribbon组件和功能应用程序菜单快速访问工具栏增强的工具提示 Ribbon是一个命令栏,它将应用程序的功能组织到应用程序窗口顶部的一系列选项卡中。Ribbon用户界面(UI)增加了特性和功能的可发现性,使用…...
解锁编程潜力,从掌握GitHub开始
目录: 一、搜索开源项目 1、什么是Git 2、Github常用词含义 3、一个完整的项目界面 4、使用Github搜索项目 1)in关键词 2)star或fork数量去查找 3)awesome加强搜索 二、访问速度慢的解决 1、使用网易UU加速器 2、使用…...
HTML转义字符对照表
HTML特殊字符转义对照表一 字符十进制转义字符字符十进制转义字符""&&<<<à>>>不断开空格 ?¡¡Ááâ⢢¢ˆ£££&…...
【zabbix监控软件(配置及常用键值)】
监控软件–zabbix 同类产品:nagios、cacti 简介:能够部署企业级监控平台。 监控范围 1)zabbix SNMP 监控网络设备 防火墙、交换机 2)zabbix agent 监控 服务器:raid插槽 CPU 内存插槽 温度 风扇 操作系统࿱…...
98、RS485全自动收发电路入坑笔记
因为RS485采用叉分信号,只支持半双工。正常的RS485芯片驱动电路是需要GPIO来切换发送和接收模式。如下图所示,一般的RS485电平转换芯片都有RE/DE脚,用来切换收发模式。 例如这篇推荐:芯片RS485自动收发电路常见问题与应对策略 但…...
单机快速部署开源、免费的分布式任务调度系统——Apache DolphinScheduler
本文主要为大家介绍Apache DolphinScheduler的单机部署方式,方便大家快速体验。 环境准备 需要Java环境,这是一个老生常谈的问题,关于Java环境的安装与配置期望大家都可以熟练掌握。 验证java环境 java -version 下载安装包并解压 使用wg…...
【运维监控】Prometheus+grafana监控zookeeper运行情况
运维监控系列文章入口:【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、prometheus集成grafana监控zookeeper1、修改zookeeper配置2、修改prometheus配置3、导入grafana模板4、验证 本示例通过zookeeper自带的监控信息暴露出来,然后…...
【C++二分查找】2560. 打家劫舍 IV
本文涉及的基础知识点 C二分查找 LeetCode2560. 打家劫舍 IV 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋 。 小偷的 窃取能力 定义为他在…...
位段、枚举、联合
位段 在一个结构体中以位(最小单位)为单位来指定其成员所占的内存长度。位段成员名后面有一个冒号,冒号后有一个数字(这个数字是小于等于这个成员所占的位)。 typedef struct S {char a : 2;//8char b : 8;//8char c …...
golang学习笔记15——golang依赖管理方法
推荐学习文档 golang应用级os框架,欢迎star基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总golang学习笔记01——基本数据类型golang学习笔记02——gin框架及基本原理golang学习笔记03——gin框架的核心数据结构golang学…...
Linux 挂载磁盘与开机自动挂载操作指南
Linux 挂载磁盘与开机自动挂载操作指南 文章目录 Linux 挂载磁盘与开机自动挂载操作指南一 挂载磁盘1 查看硬盘信息2 新增数据盘执行分区3 新建分区4 创建一个主分区5 分区编号6 初始磁柱编号7 截止磁柱编号8 查看新建分区信息9 分区结果写入10 新分区同步操作系统11 设置新分区…...
『功能项目』单例模式框架【37】
我们打开上一篇36C#拓展 - 优化冗余脚本的项目, 本章要做的事情是编写单例模式基类,让继承其基类的子类在运行时只存在一个,共有两个单例基类框架,分别是不继承MonoBehaviour的单例和继承MonoBehaviour的单例框架 首先编写不继承…...
【计算机网络 - 基础问题】每日 3 题(三)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...
SpringCloud Nacos
**************************** 准备工作 首先准备号nacos的镜像 根据镜像创建nacos容器 nacos:container_name: nacosimage: nacos/nacos-server:v2.1.0-slimports: #需要监听三个端口- "8848:8848"- "9848:9848"- "9849:9849"privileged: tr…...
机器学习算法详细解读和python实现
文章目录 一、机器学习概述1.1 机器学习的定义与分类机器学习的分类 1.2 机器学习的基本流程1.3 Python在机器学习中的应用Python的优势Python在机器学习中的应用场景 2.1 线性回归的基本概念线性回归的数学表达线性回归的目标 2.2 最小二乘法技术最小二乘法的数学推导最小二乘…...
【Linux】Linux权限历险记---组和用户的关系
欢迎来到 CILMY23 的博客 🏆本篇主题为:Linux权限历险记---组和用户的关系 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码训练营…...
华为HCIA、HCIP和HCIE认证考试明细
华为认证体系包括三个主要等级:HCIA(华为认证ICT助理)、HCIP(华为认证ICT高级工程师)和HCIE(华为认证ICT专家)。每个等级的认证都有其特定的考试内容和费用。 HCIA(华为认证ICT助理…...
C++数据结构
单向链表 // // Created by 19342 on 2024/9/14. // #include <iostream> using namespace std;// 定义链表节点 struct Node {int data; // 节点存储的数据Node* next; // 指向下一个节点的指针 };// 初始化链表 Node* initList() {return nullptr; }// 在链表末尾添加…...
Linux下read函数详解
在Linux中,read 函数是最常用的系统调用之一,用于从文件或其他输入设备读取数据。它是低级别的I/O操作的核心,直接与操作系统的内核交互,提供了高效的数据读取方式。 一、read 函数简介 read 函数的声明如下: #inclu…...
【二叉树遍历算法应用】------补录
0.二叉树结点的链式存储结构 #include<stdio.h> #include<stdlib.h> #include<stdbool.h>typedef char TElemType;//树中元素基本类型为char类型//二叉树结点链式存储结构(二叉链表) typedef struct BiNode {TElemType data;//数据域…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
