1、Menu 介绍

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

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

Menu 是一个 ItemsControl,这意味着它可以包含任何类型 (的对象集合,例如字符串、图像或面板) 。

每个 Menu 可以包含多个 MenuItem 控件。每个 MenuItem 都可调用命令或调用 Click 事件处理程序。MenuItem 也可以有多个 MenuItem 元素作为子项,从而构成子菜单。

**************************************************************************************************************

2、常用属性介绍

FontFamily:字体系列;    FontSize:字体大小;    FontStretch:字体在屏幕上紧缩或加宽的程度;FontWeight:字体粗细;
    
    Background:背景;    BorderBrush:边框颜色;    BorderThickness:边框宽度;    Foreground:前景色;
    
    Width/Height:宽度/高度;    Name:元素标识名称;    IsEnabled:使能,是否可用;    Margin:外边距;
    
    Opacity:透明度;    Visibility:可见性;    IsVisible:是否可见;    FlowDirection:其子元素的流动方向;
    
    LayoutTransform:在执行布局时应该应用于此元素的图形转换方式。    RenderTransform:元素的呈现位置的转换信息;
    
    RenderTransformOrigin:由RenderTransform声明的任何可能呈现转换的中心点,相对于元素的边界。
    
    HorizontalAlignment/VerticalAlignment:在父元素中组合此元素时所应用的水平对齐特征/垂直对齐特征。
    
    HorizontalContentAlignment/VerticalContentAlignment:控件内容的水平对齐方式/垂直对齐方式。

Items:获取用于生成 ItemsControl 的内容的集合。ItemTemplate:获取或设置用来显示每个项的 DataTemplate。
    
    ItemsPanel:获取或设置模板,该模板定义对项的布局进行控制的面板。
    
    ItemsSource:获取或设置用于生成 ItemsControl 的内容的集合。

IsMainMenu:获取或设置一个值,该值指示此 Menu 是否接收主菜单激活通知。

SnapsToDevicePixels:获取或设置一个值,该值确定在呈现过程中,此元素的呈现是否应使用特定于设备的像素设置。    
    
    ContextMenu:获取或设置通过用户界面请求上下文菜单时应显示的上下文菜单元素, (UI 从此元素中) 。

**************************************************************************************************************

3、具体示例代码

<Window.Resources><!--定义命令--><RoutedUICommand x:Key="cmdModify" />
</Window.Resources>
<!--将命令与处理程序关联起来-->
<Window.CommandBindings><CommandBinding Command="{StaticResource cmdModify}" Executed="ModifyLog_Click"/>
</Window.CommandBindings>
<Grid><Menu Height="30" VerticalAlignment="Top" IsMainMenu="False" VerticalContentAlignment="Center" Margin="10"><MenuItem Header="查询中心" VerticalContentAlignment="Center" Height="30" Width="80" ><MenuItem Header="查询"><!--设置图标--><MenuItem.Icon><Image Source="/huahua.png" /></MenuItem.Icon><MenuItem Header="按姓名查询" Click="QueryName_Click"/><MenuItem Header="按性别查询"/><MenuItem Header="按按城市查询"/></MenuItem><MenuItem Header="修改记录查询" Command="{StaticResource cmdModify}" CommandParameter="modfiy"/><MenuItem Header="说明文档查询"/><MenuItem Header="软件版本查询" Click="QueryVer_Click"/></MenuItem><Rectangle Width="1" Height="20"  Margin="2" Fill="#4e6ef2" VerticalAlignment="Stretch" HorizontalAlignment="Center"/><MenuItem Header="查询中心2" VerticalContentAlignment="Center" Height="30" Width="80"><MenuItem Header="查询"><!--设置图标--><MenuItem.Icon><Image Source="/huahua.png" /></MenuItem.Icon><MenuItem Header="按姓名查询"/><MenuItem Header="按性别查询"/><MenuItem Header="按按城市查询"/></MenuItem><MenuItem Header="修改记录查询"/><MenuItem Header="说明文档查询"/><MenuItem Header="软件版本查询"/></MenuItem></Menu>
</Grid>

后台代码

public partial class MainWindow : Window
{public MainWindow(){InitializeComponent();}private void QueryName_Click(object sender, RoutedEventArgs e){MessageBox.Show("按姓名查询!!!");}private void QueryVer_Click(object sender, RoutedEventArgs e){MessageBox.Show("按版本号查询!!!");}private void ModifyLog_Click(object sender, ExecutedRoutedEventArgs e){MessageBox.Show("按修改记录查询!!!");}
}

**************************************************************************************************************

4、效果图

**************************************************************************************************************

5、总结和扩展

IsMainMenu 是否接收主菜单激活通知 true 按alt或f10 激活,如果为false ,不能激活。

快捷键事件响应示例:

<!--输入绑定  Key   Mouse-->
<Window.InputBindings><KeyBinding Command="{StaticResource cmdModify}" Gesture="Ctrl+R" />
</Window.InputBindings>

**************************************************************************************************************

WPF 控件专题 Menu 控件详解相关推荐

  1. DevExpress控件GridControl中的布局详解 【转】

    DevExpress控件GridControl中的布局详解 [转] 2012-10-24 13:27:28|  分类: devexpress |  标签:devexpress  |举报|字号 订阅 h ...

  2. 利用Animation控件制作帧动画过程详解

    利用Animation控件制作帧动画过程详解 前言 通过Animation控件来达到序列图的播放(素材和示例视频在文章末尾) 一.序列图 (此素材为已经分割好的序列图) 如若序列图在一张图片上,请参考 ...

  3. wpf 客户端【JDAgent桌面助手】详解(二)桌面宠物制作详解

    目录区域: 业余开发的wpf 客户端终于完工了..晒晒截图(此文 由于当时没有开通csdn博客所以在博客园发了,后续文章都是csdn 首发奥) [晒视频了]业余开发wpf 客户端[JDAgent桌面助 ...

  4. 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本文是卷积神经网络结构系列专题第二篇文章,前面我们已经介绍了第一个真正意义 ...

  5. WPF 控件专题 Image控件详解

    1.Image 介绍 Image:表示用于显示图像的控件. Image可以加载以下图像类型:.bmp..gif..ico..jpg..png..wdp 和 .tiff.但是在显示多帧图像时,仅显示第一 ...

  6. WPF 控件专题 Grid 控件详解

    1.Grid 介绍 定义由列和行组成的灵活的网格区域,Grid顾名思义就是"网格",它的子控件被放在一个一个实现定义好的小格子里面,整齐配列,该对象可包含多个 Children对象 ...

  7. WPF 控件专题 Lable 控件详解

    1.Lable 介绍 官方释义:表示包含一段任意类型内容的控件.也可以叫标签控件. Label控件和TextBlock看起来非常像.但在使用时就会发现,Label使用的是Content属性而不是Tex ...

  8. WPF 控件专题 TreeView控件详解

    1.TreeView介绍 命名空间:System.Windows.Controls TreeView 表示一个控件,该控件在树结构(其中的项可以展开和折叠)中显示分层数据. TreeView 是一个 ...

  9. WPF 控件专题 Border控件详解

    1.Border介绍 Border(边框)是一个装饰的控件,此控件绘制一个边框.一个背景.Border 中只能有一个子控件(Child),若要显示多个子元素,需要在父Border元素中放置一个附加Pa ...

最新文章

  1. 2.2. 对网络安全的威胁
  2. python没有英文基础能学吗-学python需要英语基础吗
  3. 【人工智能导论】遗传算法求解TSP问题(含源码github)
  4. Web前端开发笔记——第三章 CSS语言 第六节 CSS定位
  5. mysql 子表 关联查询语句_mysql查询语句 和 多表关联查询 以及 子查询
  6. 如何用代码填充S/4HANA销售订单行项目的数量字段
  7. ejb java_EJB继承与Java继承不同
  8. 极度烧脑+惊人发现:4个颠覆你世界观的量子理论实验
  9. 讲讲 MySQL 中的 WAL 策略和 CheckPoint 技术
  10. Linux 内核的同步机制,第 2 部分(来自IBM)
  11. 交换机端口配置与管理
  12. Logstash配置方法
  13. ubuntu下opencv3和opencv2共存
  14. matlab求两个向量均值,matlab求两个总体的均值向量和协方差矩阵
  15. 中国移动MM的免流量费策略太不靠谱
  16. HUAWEI AC+AP设备配置
  17. Echarts经纬度数组
  18. php 有道翻译api,php有道翻译api调用方法实例
  19. Photo Ninja for Mac(RAW图片转换器)
  20. 一文解决安装Anaconda后C盘不断增加的问题、修改默认配置

热门文章

  1. C_plus_侯捷课件笔记
  2. UnityUI动态效果插件Dotween
  3. 学习最新《微信小程序实战入门第二版》PDF+源程序代码+刘明洋
  4. vue ssr java_Vue-SSR入门
  5. 十分钟使用苹果机器学习框架CoreML进行图片识别(Swift版)
  6. powerbuilder freeform只显示一条数据的问题
  7. 支持向量机:PRML:SparseKernelMachine
  8. oracle全局环境名字设置,oracle配置本地net服务名
  9. android实现发送成功,安卓发送发外代码(三星NOTE3测试成功,华为荣耀成功)
  10. android 4.4 p600,四核MT6589+Android 4.1 TCL P600评测_中国经济网——国家经济门户