1.把Munu控件拖到界面的顶部,然后调整宽度,使其覆盖顶部。
2.点击控件,属性中找到“item”,打开后可以添加选项,其中header是设置显示文字信息。
3.二级菜单的添加,是在选中已经出现的菜单文字,同样找到“item”属性进行添加。
4.三级菜单,是要在XAML中找到刚才添加的代码,同样找到“item”属性添加。
5.单击事件则是事件中找到“click”进行添加。
菜单代码:
<Menu Height="23" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top" Width="513">
<MenuItem Header="设备管理" >
<MenuItem Header="新增设备" Click="MenuItem_Click" />
<MenuItem Header="管理设备" />
<MenuItem Header="删除设备" />
<MenuItem Header="设备监控" />
</MenuItem>
<MenuItem Header="设置" />
<MenuItem Header="帮助" />
<MenuItem Header="关于" />
</Menu>
最近有其他事情一直忙着,也没抽点时间去更新文章;今天来分享一下关于
Menu
Item的模板;本来是偷懒直接借鉴的现成的代码,结果发现一堆小问题;没办法还是得自己动手;满怀期待的打开布满灰尘的Blend,最终实现效果:1、前台关于
Menu
Item样式:<Style TargetType="{x:Type
Menu
Item}">
<Setter Property="Backgr...
<Window x:Class="
Wpf
App2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
搞这个右键
菜单
用了挺长的时间,一是网络上面资料比较少,二是里面有坑,坑就是众所周知,c#程序有两种窗口,一种是Form窗口,另一种是
wpf
窗口。网上的资料是这两种混合,开始我并没有意识到这两种有多大的差别,但是看了许多资料发现有很多自相矛盾的地方,因为这两种窗口有很多不同的地方:
Form:context
menu
strip已经替代了context
menu
,但是context
menu
仍然可以用
一般在项目中,为了方便项目后面的开发和管理,
菜单
都会选择从数据库动态加载。那么,动态加载
菜单
的原理是什么呢?
我们在数据库建立
菜单
表的时候,最起码需要有三个字段:
菜单
ID(ID)、
菜单
名称(Name)、上级
菜单
ID(SuperiorID)。
查询出所有的
菜单
数据,循环遍历出上级
菜单
ID为空的数据,作为一级
菜单
。
把每个一级
菜单
的
菜单
ID放到
菜单
数据里进行比较,得到
菜单
ID等于上级
菜单
ID的数...
WPF
中,左侧
菜单
使用
Menu
控件实现。这个
菜单
可以包含多个
Menu
Item控件,并且支持子
菜单
的嵌套。
Menu
控件的
使用
非常简单,它可以在XAML中通过代码直接添加,也可以在代码中通过一个对象来动态添加。
在
Menu
控件中,每个
Menu
Item都可以包含一个Header(标题),一个Command(命令),一个Icon(图标)和一个子
菜单
。其中,Header属性和子
菜单
是必需的,而Command和Icon是可选的。如果不需要Command,可以为其设置值为null,而如果不需要Icon,则设为一个空Image即可。
通过设置
Menu
Item的Command属性,可以为
菜单
项添加命名处理程序,这些处理程序会在
菜单
项被单击时触发。
菜单
项可以直接关联到一个Command,也可以绑定到ViewModel中的一个Command。
需要注意的是,在
WPF
中,除了
Menu
和
Menu
Item控件外,还有Context
Menu
控件是用于实现右键
菜单
的,但其实现方式与
Menu
相似,只是呈现形式不同。在
使用
上,我们可以根据实际需要来选择
使用
哪种控件。