WPF之工具栏菜单栏功能区。

1,菜单栏,工具栏,状态栏。

        1.1,Menu中可添加菜单分隔条<Separator></Separator>作为分割线,使用Separator可以通过改变其template来自定义,Separator是无焦点的,如果简单的在MenuItem中添加一个textBlock它是可以有焦点的

        1.2,ToolBar没有ToolBarItem,ToolBar会将添加到其中的Button,CheckBox,Combobox样式进行修改.

        1.3,通过附加属性ToolBar.OverFlowMode来设置该项的溢出方式

        1.4,ToolBarTray.Band:确定工具栏放在哪一栏中(最顶部的一栏索引为0),BandIndex属性明确设置一栏中什么位置放置工具栏.

        1.5,ToolBarTray.Orientation:设置工具栏方向      

        1.6,示例:

<Window x:Class="目录样例.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:目录样例"mc:Ignorable="d"Title="MainWindow" Height="350" Width="525"><DockPanel LastChildFill="False"><Menu DockPanel.Dock="Top" ><MenuItem Header="File(_F)"><MenuItem Command="{x:Static ApplicationCommands.Open}"></MenuItem><MenuItem Header="New(_N)" IsChecked="True" x:Name="menuitem01" ></MenuItem><Separator ></Separator><MenuItem Header="Save_S"></MenuItem></MenuItem><MenuItem Header="Eidt_E"><MenuItem Header="撤销"></MenuItem><Separator><Separator.Template><ControlTemplate><Border Padding="10" BorderThickness="1" BorderBrush="Azure" CornerRadius="3"><TextBlock HorizontalAlignment="Center">分割</TextBlock></Border></ControlTemplate></Separator.Template></Separator><Border Padding="10" BorderThickness="1" BorderBrush="Azure" CornerRadius="3"><TextBlock HorizontalAlignment="Center">分割</TextBlock></Border><MenuItem Header="删除" InputGestureText="Ctr+D"></MenuItem></MenuItem></Menu><ToolBarTray DockPanel.Dock="Top"><ToolBar Band="0" ><Button>Line</Button><Button >Rectangle</Button></ToolBar><ToolBar Band="1"><Button>Color</Button><Button >Font</Button></ToolBar><ToolBar Band="0" ><Button>One</Button><Button >Two</Button></ToolBar></ToolBarTray><StatusBar   DockPanel.Dock="Bottom"><!--<StatusBar.ItemTemplate><ItemContainerTemplate><DockPanel></DockPanel></ItemContainerTemplate>--><!--</StatusBar.ItemTemplate>--><StatusBarItem DockPanel.Dock="Right">账号:</StatusBarItem><StatusBarItem DockPanel.Dock="Top" >状态1</StatusBarItem><StatusBarItem  >状态2</StatusBarItem></StatusBar><ToolBarTray Orientation="Vertical" ><ToolBar   ><Button  ><Button.Content><Image Source="/Img/download.png" Width="16" Height="16"></Image></Button.Content></Button><Button Content="Open"></Button><Button Content="Save"></Button><CheckBox FontWeight="Bold">Bold</CheckBox><CheckBox FontStyle="Italic">Italic</CheckBox><CheckBox ><TextBlock TextDecorations="Underline">UnderLine</TextBlock></CheckBox><ComboBox ToolBar.OverflowMode="Never"  Width="80"><ComboBoxItem>10%</ComboBoxItem><ComboBoxItem >20%</ComboBoxItem><ComboBoxItem>30%</ComboBoxItem></ComboBox><Separator></Separator></ToolBar></ToolBarTray></DockPanel>
</Window>

        1.7,效果:

2,功能区

        2.1,使用功能区需要添加程序集System.Windows.Controls.Ribbon。

        2.2,引用程序集:

 xmlns:r="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"

        2.3,为了使快速访问工具栏出现在顶端,需要将默认继承自Window修改为继承自RibbonWindow

 public partial class MainWindow : RibbonWindow{public MainWindow(){InitializeComponent();}}
<r:RibbonWindow x:Class="功能区.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:功能区"mc:Ignorable="d"xmlns:r="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"Title="MainWindow" Height="350" Width="525"><Grid></Grid>
</r:RibbonWindow>

        2.4,示例:

<r:RibbonWindow x:Class="功能区.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:功能区"mc:Ignorable="d"xmlns:r="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"Title="MainWindow" Height="350" Width="525"><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="279*"/></Grid.RowDefinitions><Ribbon>
<!--定义快速访问工具栏--><Ribbon.QuickAccessToolBar><RibbonQuickAccessToolBar><RibbonButton Label="Cut" SmallImageSource="/Img/cut.png"></RibbonButton><RibbonButton Label="Open" SmallImageSource="/Img/open1.png"></RibbonButton></RibbonQuickAccessToolBar></Ribbon.QuickAccessToolBar><Ribbon.ApplicationMenu><RibbonApplicationMenu SmallImageSource="Img/desktop.png"><RibbonApplicationMenuItem Header="新建" ImageSource="Img/new window.png"></RibbonApplicationMenuItem><RibbonApplicationMenuItem Header="保存" ImageSource="Img/save.png"><RibbonApplicationMenuItem Header="另存" ImageSource="Img/save-as.png"></RibbonApplicationMenuItem></RibbonApplicationMenuItem><RibbonSeparator></RibbonSeparator><RibbonApplicationMenuItem Header="另存" ImageSource="Img/save-as.png"></RibbonApplicationMenuItem></RibbonApplicationMenu></Ribbon.ApplicationMenu><RibbonTab Header="Home" GroupSizeReductionOrder="ClipBoard,Files"><RibbonGroup Header="ClipBoard"><RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton><RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton><RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton></RibbonGroup><RibbonGroup Header="ClipBoard"><RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton><RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton><RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton></RibbonGroup><RibbonGroup Header="Task"><RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton><RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton><RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton></RibbonGroup><RibbonGroup Header="Files"><RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton><RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton><RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton></RibbonGroup></RibbonTab></Ribbon></Grid>
</r:RibbonWindow>

        注明:

                GroupSizeReductionOrder="ClipBoard,Files" ribbonTab中首先被缩小的Group。

                快速访问工具栏。Ribbon.QuickAccessToolBar

        2.5,效果:


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript异步编程——08-Promise的链式调用【万字长文,感谢支持】

前言 实际开发中&#xff0c;我们经常需要先后请求多个接口&#xff1a;发送第一次网络请求后&#xff0c;等待请求结果&#xff1b;有结果后&#xff0c;然后发送第二次网络请求&#xff0c;等待请求结果&#xff1b;有结果后&#xff0c;然后发送第三次网络请求。以此类推。…

【ARM 嵌入式 C 入门及渐进 1.2 -- 是否为 n 字节对齐】

文章目录 是否为 n 字节对齐 是否为 n 字节对齐 在C语言中&#xff0c;你可以定义一个宏来检查一个给定地址是否是n字节对齐的。这里的n应该是2的幂&#xff08;例如&#xff0c;2、4、8、16等&#xff09;。要做到这一点&#xff0c;可以利用位操作的特性。具体地&#xff0c…

品鉴中的平衡之美:如何欣赏红酒的口感与风格和谐

品鉴云仓酒庄雷盛红酒的过程&#xff0c;是对其口感与风格和谐的追求和欣赏。平衡是红酒品质的重要标志之一&#xff0c;它体现在红酒的色泽、香气、口感和余味等多个方面。通过欣赏红酒的平衡之美&#xff0c;我们可以更好地领略其精妙之处&#xff0c;感受其带来的美妙滋味。…

【Unity Animation 2D】Unity Animation 2D骨骼绑定与动画制作

一、图片格式为png格式&#xff0c;并且角色各部分分离 图片参数设置 需要将Sprite Mode设置为Single&#xff0c;否则图片不能作为一个整体 1、创建骨骼 1.1 旋转Create Bone&#xff0c;点击鼠标左键确定骨骼位置&#xff0c;移动鼠标再次点击鼠标左键确定骨骼&#xff0c…

大数据面试题第一期*4

题1、HDFS存储机制 &#xff08;1&#xff09;客户端向namenode请求上传文件 &#xff0c;namenode检查目标文件是否已存在 &#xff0c;父目录是否存在。 &#xff08;2&#xff09;namenode返回是否可以上传。 &#xff08;3&#xff09;客户端请求第一个 block上传到哪几个d…

Docker in Docker 的原理与实践

概述 Docker in Docker&#xff08;DinD&#xff09;是一个让 Docker 容器内可以运行另一个 Docker 沙箱环境的技术。常用于持续集成&#xff08;CI&#xff09;工作流程&#xff0c;其中需要构建和推送 Docker 镜像&#xff0c;而不污染主宿主机的 Docker 环境。 Docker in …

JS_jq选择器合集

基本选择器 选择器返回示范描述#id单个元素$("#test").class 集合元素 $(".test")element集合元素$("p") 所有p原素*集合元素$("*")所有原素select1,select2,selectn集合元素$("div,span,p.myClass")所有匹配原素 层次选择…

嵌入式C语言高级教程:实现基于STM32的智能健康监测手环

智能健康监测手环能够实时监控用户的生理参数&#xff0c;如心率、体温和活动量&#xff0c;对于健康管理和疾病预防非常有帮助。本教程将指导您如何在STM32微控制器上实现一个基本的智能健康监测手环。 一、开发环境准备 硬件要求 微控制器&#xff1a;STM32L476RG&#xf…

RS3236-3.3YUTDN4功能和参数介绍及PDF资料

RS3236-3.3YUTDN4功能和参数介绍及PDF资料-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 品牌: RUNIC(润石) 封装: XDFN-4-EP(1x1) 描述: 带过温保护 输出类型: 固定 最大输入电压: 7.5V 输出电压: 3.3V 最大输出电流: 500mA RS3236-3.3YUTDN4 是一款低压差线性稳压器&#x…

kkfileview部署踩坑记录——kkfile部署启动失败、预览出错、乱码问题的处理

预览失败&#xff1a;报错 org.jodconverter.core.office.OfficeException: Could not store document: testdoc.pdf java.lang.NullPointerException: Could not open document: 1691539546735.docx 错误原因 由于kkfileView在linux上默认使用openOffice来实现转换 解决方…

leetcode 2316.统计无向图中无法互相到达点对数

思路&#xff1a;并查集 其实就是连通块的一个变形题目&#xff0c;一般的连通块题目要我们求的是连通个数&#xff0c;或者能不能到达&#xff0c;这里反过来问了。 首先&#xff0c;我们用dfs也是可以做到的&#xff0c;在dfs中统计每一个连通块的个数&#xff0c;然后用乘…

Spring原理分析--获取Environment资源对象

1.使用getEnvironment()获取环境信息 ApplicationContext接口继承了EnvironmentCapable接口&#xff0c;可以通过getEnvironment()获取Environment配置信息&#xff0c;例如&#xff1a; SpringBootApplication public class A01 {public static void main(String[] args) th…

解决方案:对数据进行负采样随机抽取1000W,用Pandas如何实现

文章目录 一、现象二、解决方案 一、现象 做建模的时候&#xff0c;有时候需要对数据进行负采样&#xff0c;就需要随机抽取数据&#xff0c;之前用SQL实现过order by rand()&#xff0c;附上链接解决方案&#xff1a;用户号出现多行&#xff0c;如何从中取其一并随机抽取100个…

PX4FMU和PX4IO最底层启动过程分析(下)

PX4FMU和PX4IO最底层启动过程分析&#xff08;下&#xff09; PX4FMU的系统启动函数为nash_main(int argc,char *argv[]) PX4IO的系统启动函数为nash_start(int argc,char *argv[]) PX4FMU启动函数nash_main(int argc,char *argv[]) 首先分析一下nash_main(int argc,char *a…

高效视频剪辑:视频批量调色,如何利用色调调整提升效率

在视频剪辑的后期处理中&#xff0c;调色是一个至关重要的环节。它不仅能够改变视频的整体氛围和风格&#xff0c;还能够突出视频的重点&#xff0c;增强观众的视觉体验。然而&#xff0c;对于大量的视频素材进行逐个调色处理&#xff0c;无疑会耗费大量的时间和精力。我们可以…

软件安装及YOLOv8环境配置及验证

先附上本章中所用到的软件及环境安装包&#xff0c;还有YOLOv8各任务权重&#xff1a; 软件及环境配置链接&#xff1a;https://pan.baidu.com/s/1-n2HJybicA6vW1YXfGRtcA 提取码&#xff1a;6vh8 YOLOv8各权重&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1ApYUrJ_s…

C++相关概念和易错语法(12)(迭代器、string容量调整)

1.迭代器&#xff08;以string为例&#xff09; &#xff08;1&#xff09;基本理解&#xff1a;在我们刚接触迭代器的时候&#xff0c;我们可以将迭代器理解为改造过的“指针”&#xff0c;这是一个新的类型&#xff0c;指向对应容器中的各个元素。我们可以像指针那样对迭代器…

Lombok介绍、使用方法和安装

目录 1 Lombok背景介绍 2 Lombok使用方法 2.1 Data 2.2 Getter/Setter 2.3 NonNull 2.4 Cleanup 2.5 EqualsAndHashCode 2.6 ToString 2.7 NoArgsConstructor, RequiredArgsConstructor and AllArgsConstructor 3 Lombok工作原理分析 4. Lombok的优缺点 5. 总结 1 …

Idea入门:一分钟创建一个Java工程

一&#xff0c;新建一个Java工程 1&#xff0c;启动Idea后&#xff0c;选择 [New Project] 2&#xff0c;完善工程信息 填写工程名称&#xff0c;根据实际用途取有意义的英文名称选择Java语言&#xff0c;可以看到还支持Kotlin、Javascript等语言选择包管理和项目构建工具Mav…

Java中使用Comparable接口实现自然排序

Java中使用Comparable接口实现自然排序 在Java中&#xff0c;当我们需要对自定义对象进行排序时&#xff0c;Comparable接口就派上了大用场。Comparable接口定义了一个名为compareTo的方法&#xff0c;该方法用于比较两个对象。通过实现Comparable接口&#xff0c;我们可以定义…