WPF —— Expander折叠栏 、菜单标签 menu

Expander

1 :Expander折叠栏 简介

Expander控件有一个箭头按钮。单击箭头时,Expander中的子元素将显示或隐藏。箭头“展开”控件,使其子控件可见。

2 :Expander常用的属性

IsEnabled 默认是打开或者折叠起来,true就是展开 false折叠
ExpandDirection 展开的方向 down 向下展开

展开标签一般展开方向是上下,不设置高度
一般展开方向是左右,不设置宽度
VerticalAlignment= "top" HorizontalAlignment="Center" 展开宽随着内容进行自适应

3 关于Expander的实例

<Expander IsEnabled="True" ExpandDirection="Down" Width="200" 
   BorderThickness="2" BorderBrush="Green"
   VerticalAlignment="Top" HorizontalAlignment="Center">
    <Expander.Header>
        我的好友
    </Expander.Header>
    <StackPanel Orientation="Vertical">
        <CheckBox IsChecked="True" Margin="0,10">马云</CheckBox>
        <CheckBox Margin="0,10">马化腾</CheckBox>
        <CheckBox Margin="0,10">许家印</CheckBox>
    </StackPanel>
</Expander>

Menu

1:Menu菜单简介

Menu 表示一个 Windows 菜单控件,该控件可用于按层次组织与命令和事件处理程序关联的元素。

    该 Menu 控件提供一个项列表,用于指定应用程序的命令或选项。 通常,单击菜单上的项会打开子菜单或导致应用程序执行命令。

2 :Menu常用的属性

子菜单是: <MenuItem></MenuItem> ,子菜单标签又可以添加子菜单项
MenuItem.Icon 设置菜单图标的,
MenuItem.Header 和header属性都可以设置标题
MenuItem.Template 自定义子菜单

FlowDirection="RightToLeft" 菜单的排布方向
        LeftToRight 先排左边在拍右边

子菜单的事件:最常用的是通过click进行绑定点标题三击事件,通过界面命令进行绑定事件RoutedCommand
点击子菜单之后进行页面跳转,使用frame标签,navigate的方法进行跳转

3 关于Menu的实例

路由:一个菜单对应的是一个以页面 这种对应关系就是路由
    使用自定义RoutedUICommand(路由UI指令) 可以将一些预定义的操作绑定到应用程序的按钮或者菜单等控件上,
    这些命令可以直接触发相应的事件,例如click、例如 click,keydown事件等

<Window.Resources>
    <RoutedCommand x:Key="myCmd"></RoutedCommand>
</Window.Resources>

2 给"myCmd命令绑定什么样的操作
    Executed事件,当页面切换的时候,就是等同于点击了子菜单项,

<Window.CommandBindings Command="{StaticResource myCmd}"
                        Executed ="CommandBinging_Executed">
</Window.CommandBindings>

  <Menu Height="40" VerticalAlignment="Top">
      <MenuItem Header="出入管理" 
            FontFamily="华文行楷"
            FontSize="20" 
            BorderThickness="0,0,1,0"
                BorderBrush="Gray"
            Height="40"
                Command="{StaticResource myCmd}">

      </MenuItem>
      <MenuItem Header="请假管理" 
            FontFamily="华文行楷"
            FontSize="20" 
            Height="40">

      </MenuItem>
      <!--FlowDirection="RightToLeft" 菜单的排布方向
  LeftToRight 先排左边在拍右边
  -->
      <MenuItem Header="考勤管理" 
FontFamily="华文行楷"
FontSize="20" 
Height="40"
FlowDirection="LeftToRight">
          <!--设置图标-->
          <MenuItem.Icon>
              <Image Width="40"
             Height="40" 
             Source="https://img0.baidu.com/it/u=2374472521,3444438693">

              </Image>
          </MenuItem.Icon>

          <!--二级菜单-->
          <MenuItem Header="考勤打卡" FontFamily="宋体" Height="40" FontSize="20">
              <!--三级菜单-->
              <MenuItem>
                  <MenuItem.Header>
                      <TextBlock>2021班考勤打卡</TextBlock>
                  </MenuItem.Header>
              </MenuItem>

              <Separator></Separator>
              <MenuItem>
                  <MenuItem.Header>
                      <TextBlock>2022班考勤打卡</TextBlock>
                  </MenuItem.Header>
              </MenuItem>
          </MenuItem>
          <MenuItem Header="缺卡管理" FontFamily="宋体" Height="40" FontSize="20" Command="{StaticResource myCmd}">
              
          </MenuItem>
      </MenuItem>

自定义菜单项

        <MenuItem>
            <!--自定义菜单项的模板标签-->
            <MenuItem.Template>
                <!--ControlTemplate 控件模板TargetType作用到哪种类型标签上 -->
                <ControlTemplate TargetType="MenuItem">
                    <TextBlock Name="Text" 
                               Text="原子弹管理"
                               Padding="8"
                               FontSize="20"
                               FontFamily="华文行楷">
                        
                    </TextBlock>
                    <!--Triggers 触发 
                    Property="IsMouseOver" 鼠标是否放上去
                    Value="true" 放上去
                    -->
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver"
                                 Value="true">
                            <Setter TargetName="Text" Property="Background" Value="blue"></Setter>
                        </Trigger>

                    </ControlTemplate.Triggers>
                </ControlTemplate>
                
            </MenuItem.Template>
        </MenuItem>
    </Menu>
    <!--设置frame进行跳转
    NavigationUIVisibility="Hidden"因此自带前进和后退
    -->
    <Frame Name="f1" Margin="0,40,0,0" NavigationUIVisibility="Hidden"></Frame>
</Grid>

p1页面

  <Grid Background="Green">
      <TextBlock>我是page1</TextBlock>
  </Grid>

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录‘No module named ‘notebook.notebookapp‘’导致jupyter打不开的解决方法

最初是因为无法重命名文件的问题&#xff0c;更新了notebook&#xff0c;但是更新之后打不开了 在终端输入 jupyter notebook 报错 File "/Users/maclin/Library/Python/3.8/bin/jupyter-notebook", line 5, in <module> from notebook.notebookapp import ma…

Python学习笔记(二)

一&#xff1a;异常&#xff1a; 1.1&#xff1a;异常处理&#xff1a; 1.2&#xff1a;异常捕获&#xff1a; 1.3&#xff1a;异常传递&#xff1a; 二&#xff1a;模块&#xff1a; 2.1&#xff1a;模块的定义&#xff1a; 2.2&#xff1a;模块的导入&#xff1a; 2.3&…

网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)

目录 一、以太网数据帧&#xff08;数据链路层&#xff09; 二、DNS协议(域名解析系统&#xff0c;应用层协议) 一、以太网数据帧&#xff08;数据链路层&#xff09; 以太网横跨了数据链路层和物理层&#xff0c;这里只做简单介绍&#xff0c;因为普通程序员用不到这一块&am…

canvas画带透明度的直线和涂鸦

提示&#xff1a;canvas画线 文章目录 前言一、带透明度的直线和涂鸦总结 前言 一、带透明度的直线和涂鸦 test.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content…

#GIT|Git Flow#Gitflow工作流程

Gitflow是一种使用功能分支和多个主分支的Git分支模型&#xff0c;它适用于有预定发布周期的项目&#xff0c;也适用于DevOps最佳实践中的持续交付。这个工作流程不会添加任何新的概念或命令&#xff0c;而是为不同的分支分配了非常具体的角色&#xff0c;并定义了它们应该如何…

利用Python和IP技术实现智能旅游情报系统

文章目录 引言一、系统架构设计1. 数据采集模块2. 数据处理模块3. 用户界面模块 二、数据获取技术应用三、系统功能展示四、亮数据采集工具介绍五、总结六、号外 引言 随着旅游行业的不断发展&#xff0c;人们对旅游信息的需求也越来越大。为了帮助旅行者更好地规划行程&#…

PTA-练习8

目录 实验5-3 使用函数求Fibonacci数 实验5-4 输出每个月的天数 实验5-9 使用函数求余弦函数的近似值 实验5-11 空心的数字金字塔 实验6-6 使用函数验证哥德巴赫猜想 实验6-7 使用函数输出一个整数的逆序数 实验6-8 使用函数输出指定范围内的完数 实验8-1-7 数组循环右…

javascript三要素核验身份证号、姓名和人像是否匹配的身份证实名认证接口

在开发的过程中&#xff0c;总会用到各种各样的API接口来实现各种各样的功能。互联网信息时代&#xff0c;为确保注册用户身份信息的正确性&#xff0c;无论是手机端还是电脑端应用都需要进行实名认证来防止虚假身份的使用&#xff0c;维护公共利益和个人权益的安全&#xff0c…

云原生安全

云安全 https://wiki.teamssix.com 云服务安全 云服务&#xff0c;顾名思义就是云上的服务&#xff0c;简单的来说就是在云厂商&#xff08;例如 AWS、阿里云&#xff09;那里买的服务 云服务 S3 对象存储Simple Storage Service&#xff0c;简单的说就是一个类似网盘的东…

消息预知在线客服系统php网站源码

安装教程 服务器环境&#xff1a; 宝塔面板 &#xff0c;Nginx1.16-1.18&#xff0c;7.2.23<php<7.3&#xff08;因为升级了客服系统&#xff09;&#xff0c;Mysql5.6- Mysql5.7 网站运行目录为./public/ 访问网址http://你的域名/install.php进入安装程序即可 源码免…

制作小程序需要多少钱?成本分析与效益预测

在当今数字化时代&#xff0c;微信小程序已成为企业和个人拓展业务的重要工具。然而&#xff0c;许多人在考虑进入这一领域时&#xff0c;都会面临一个关键问题&#xff1a;制作一个小程序需要多少钱&#xff1f;下面和你一起探讨小程序开发的成本因素&#xff0c;帮助你更好地…

LGBM算法 原理

简介 GBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型&#xff0c;其主要思想是利用弱分类器&#xff08;决策树&#xff09;迭代训练以得到最优模型&#xff0c;该模型具有训练效果好、不易过拟合等优点。GBDT不仅在工业界应用广泛&#xff0c;通常被…

机器学习模型及其使用方法——《机器学习图解》

本书教你两件事——机器学习模型及其使用方法 机器学习模型有不同的类型&#xff0c;有些返回确定性的答案&#xff0c;例如是或否&#xff0c;而另一些返回概率性的答案。有些以问题的形式呈现&#xff1b;其他则使用假设性表达。这些类型的一个共同点是它们都返回一个答案或…

【Linux】文件系统

文章目录 1. 理解文件系统2. inode3. 软硬链接3.1 硬链接3.2 软链接3.3 软硬链接的原理 1. 理解文件系统 我们使用 ls -l 的时候看到的除了看到文件名&#xff0c;还看到了文件元数据。 [rootlocalhost linux]# ls -l 总用量 12 -rwxr-xr-x. 1 root root 7438 "9月 13 1…

第十三届蓝桥杯省赛真题 Java 研究生 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 排列字母试题 B: 灭鼠先锋试题 C: 质因数个数试题 D: 数位排序试题 E: 蜂巢试题 F : \mathrm{F}: F: 爬树的甲壳虫试题 G: 重新排序试题 H \mathrm{H} H : 技能升级试题 I: 最优清零方案试题 J : \mathrm{J}: J: 推导部分和 发现宝藏 …

Mysql数据库函数【Mysql】

Mysql数据库函数【Mysql】 前言版权Mysql数据库函数常用函数排序与分页排序分页 单行函数2.数值函数2.1基本函数2.2角度与弧度2.3三角函数2.4指数与对数函数2.5进制间的转换 3.字符串函数4.日期和时间函数4.1获取日期、时间4.2日期与时间戳的转换4.3获取月份、星期、星期数、天…

在视频号上如何开店?个人玩家可以来做吗?过来人经验分享!

大家好&#xff0c;我是电商小布。 随着视频号小店这个项目的发展&#xff0c;整个体系越来越成熟&#xff0c;数据也在逐渐上升。 就去年来看&#xff0c;视频号带货的GMV值已经超过了3000亿&#xff0c;整个订单的数量增长了244%。 那么作为一个电商新手&#xff0c;想要在…

代码随想录算法训练营第三十天| 回溯算法总结

回溯算法核心&#xff1a;for循环横向遍历&#xff0c;递归纵向遍历&#xff0c;回溯不断调整结果集。对于startIndex&#xff08;startIndex来控制for循环的起始位置&#xff09;的使用&#xff1a; 如果是一个集合来求组合的话&#xff0c;就需要startIndex&#xff0c;例如…

计算机领域热门技术词汇

文章目录 计算机领域热门技术词汇1、机器学习 machine learning2、神经网络 neural network3、深度学习 deep learning4、自然语言处理 natural language processing5、计算机视觉 computer vision6、大数据 big data7、数据挖掘 data mining&#xff08;DM&#xff09;8、云计…

图像变换(python)

前言 这个Python没学过&#xff0c;写的是真的不方便&#xff0c;有很多问题还没解决&#xff0c;暂时不想写了&#xff0c;感兴趣的同学可以完善一下。设计的思路就是摆几个控件然后将对应的函数实现&#xff0c;这个Python的坐标放置以及控件的大小我没弄懂&#xff0c;算出…