Ribbon (WPF)

devtools/2024/9/19 19:09:34/ 标签: ribbon, WPF, Client, 桌面程序开发, C/S客户端

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-window">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


http://www.ppmy.cn/devtools/113497.html

相关文章

一款源码阅读的插件

文章目录 进度汇报功能预览添加高亮标记高亮风格设置笔记颜色设置数据概览高亮数据详情 结尾 进度汇报 之前提到最近有在开发一个源码阅读的IDEA插件,第一版已经开发完上传插件市场了,等官方审批通过就可以尝鲜了。插件名称:Mark source cod…

FinOps三人行:共话FinOps云成本管理与AI的未来在线分享(文字+视频)

前言: 在数字化浪潮的推动下,云成本管理(Cloud Financial Management,简称FinOps)正逐渐成为企业关注的焦点。在2024年9月4日,一场关于云成本管理与人工智能(AI)未来的深入讨论在线…

【Leetcode:2848. 与车相交的点 + 模拟计数】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Rust Windows下编译 静态链接VCRuntime140.dll

Rust 编译出来的exe默认动态链接VC运行库,分发电脑上需要安装有Microsoft Visual C Redistributable for Visual Studio 2015运行库。 编译时能静态链接进去,就省去客户端未安装运行库的问题。方法如下: 只需在当前根目录下新建.cargo\config.toml&#…

设计模式之组合设计模式

一、组合设计模式概念 组合模式 (Component) 是一种结构型设计模式,将对象组合成树形结构以表示“部分-整体”的层次结构。 组合模式使得用户对单个对象和组合对象的使用具有唯一性。 适用场景 想要表示对象的部分-整体层次结构。想要客户端忽略组合对象与单个对象的…

vulnhub靶机:Holynix: v1

下载 下载地址:https://www.vulnhub.com/entry/holynix-v1,20/ 打开虚拟机 选择下载解压之后的文件打开 新添加一张 NAT 网卡,mac 地址修改如下 00:0c:29:bc:05:de 给原来的桥接网卡,随机生成一个 mac 地址 然后重启虚拟机 信息收集 主…

【数据结构初阶】顺序结构二叉树(堆)接口实现超详解

文章目录 1.树1. 1 树的概念与结构1. 2 树的相关术语1. 3 树的表示1. 4 树形结构实际运用场景 2.二叉树2. 1 概念与结构2. 2 特殊的二叉树2. 2. 1 满二叉树2. 2. 2 完全二叉树 2. 3 二叉树存储结构2. 3. 1 顺序结构2. 3. 2 链式结构 3. 实现顺序结构二叉树(小堆&…

vscode中如何配置c/c++环境

“批判他人总是想的太简单 剖析自己总是想的太困难” 文章目录 前言文章有误敬请斧正 不胜感恩!一、准备工作二、安装 VSCode 插件三、配置 VSCode1. 配置编译任务(tasks.json)2. 配置调试器(launch.json) 四、运行和调…

基于vue框架的宠物寄养系统3d388(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,宠物信息,宠物分类,寄养店,宠物寄养,宠物领养,家庭环境,用户宠物 开题报告内容 基于Vue框架的宠物寄养系统开题报告 一、引言 随着人们生活水平的提高和宠物文化的普及,宠物已成为许多家庭不可或缺的一员。因此&…

【C++】——二叉树搜索树

文章目录 二叉搜索树的概念二叉搜索树基本操作1. 插入节点2. 查找节点3. 删除节点 二叉搜索树的实现二叉搜索树key和key/value 二叉搜索树的概念 左子树上所有节点的值都小于等于根节点的值, 右子树上所有节点的值都大于等于根节点的值左右子树也分别为二叉树二叉搜…

HAL库学习梳理——UART

笔者跟着B站铁头山羊视频学习 STM32-HAL库 开发教程。下面对HAL库有关UART课程知识和应用做一个梳理。 省流: uint8_t byteNumber 0x5a;uint8_t byteArray[] {0,1,2,3,4,5};char ch a;char *str "Hello word";HAL_UART_Transmit(&huart1,&by…

PyQt5-QComboBox-下拉框效果

效果预览 代码实现 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox, QStyledItemDelegate, QStyle, QProxyStyle, \ QStyleOptionFrame, QListView, QFrame from PyQt5.QtCore import Qt, QRect, QRectF, QEvent, QSize, QPoint from…

【免越狱】iOS任意版本号APP下载

下载地址 https://pan.quark.cn/s/570e928ee2c4 软件介绍 下载iOS旧版应用,简化繁琐的抓包流程。一键生成去更新IPA(手机安装后,去除App Store的更新检测)。 软件界面 使用方法 一、直接搜索方式 搜索APP,双击选…

Python爬虫之bs4模块用法

文章目录 Python爬虫之bs4模块用法一、引言二、安装与基本使用1、安装2、创建BeautifulSoup对象 三、解析与提取数据1、获取标签2、获取标签内文本3、获取标签内属性4、使用CSS选择器 四、高级应用1、find与find_all2、处理多值属性3、遍历文档树 五、总结 Python爬虫之bs4模块…

汽车英文单词缩写汇总

缩略词英文全文中文翻译备注ACCAdaptive Cruise Control自适应巡航控制ACCMAir Conditioner Compressor Module空调压缩机模块ASILAutomotive Safety Integrity Level汽车安全完整性等级BOMBill of Materials物料清单CCCChina Compulsory Certification中国强制性产品认证CSDCe…

Spring Boot项目中实现OAuth2客户端模式(Client Credentials Grant Type)

背景 在项目中难免需要和外部系统进行对接,既然对接那就需要进行鉴权认证,一般外围系统的对接交互方式协议分两种:https和内网;如果是https,有些场景也需要进一步进行接口层面的鉴权认证,虽然通道已经进行了保障了 OAuth2基础知识 在学习本篇OAuth2的客户端模式认证之…

STM32常用数据采集滤波算法

例如,STM32进行滤波处理时,主要目的是处理数据采集过程中可能产生的噪声和尖刺信号。这些噪声可能来自电源干扰、传感器自身的不稳定性或其他外部因素。 1.一阶互补滤波 方法:取a0~1,本次滤波结果(1-a)本次采样值a上…

dedecms靶场(四种webshell姿势)

修改模版文件 在index.htm文件中加入一句话木马 访问我们的一句话木马进行蚁剑链接,成功连接 通过文件管理上传获得webshell 上一个一句话木马文件 进行蚁剑连接 通过任意命令执行获得webshell 在广告代码处输入一句话木马,使用蚁剑进行连接 使用后台…

基于Python实现一个庆祝中秋节的小程序

功能包括: 使用复杂的库来计算农历日期:可以使用 lunarcalendar 库来计算农历日期。提供更多的祝福语:可以通过随机选择祝福语来增加趣味性。加入图形用户界面 (GUI):可以使用 tkinter 库来创建一个简单的图形用户界面。 我们可…

vue 找不到模块“@/stores/index”或其相应的类型声明。ts-plugin

本来的 tsconfig.app.json 如下 {"extends": "vue/tsconfig/tsconfig.dom.json","include": ["env.d.ts", "src/**/*", "src/**/*.js", "src/**/*.ts", "src/**/*.vue"],"exclude"…