<Window x:Class="WpfApp2.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:WpfApp2"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="文件">
<MenuItem x:Name="item_New" Header="新建" InputGestureText="Ctrl+N" Click="Item_New_Click">
<MenuItem.Icon>
<Image Source="Icon/001.ico"></Image>
</MenuItem.Icon>
<MenuItem Header="项目"></MenuItem>
<MenuItem Header="文件"></MenuItem>
</MenuItem>
<MenuItem Header="打开" InputGestureText="Ctrl+O">
<MenuItem.Icon>
<Image Source="Icon/002.ico"></Image>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="管理" InputGestureText="Ctrl+C" IsChecked="True">
<MenuItem.Icon>
<Image Source="Icon/003.ico"></Image>
</MenuItem.Icon>
</MenuItem>
<Separator />
<MenuItem Header="退出" InputGestureText="Ctrl+E"></MenuItem>
</MenuItem>
<MenuItem Header="编辑">
</MenuItem>
<MenuItem Header="视图">
</MenuItem>
<MenuItem Header="项目">
</MenuItem>
</Menu>
</DockPanel>
</Grid>
</Window>
如果需要加入按键快捷方式,用括号加下划线,如下:
<MenuItem Header="帮助(_H)">
<MenuItem Header="说明"></MenuItem>
<MenuItem Header="关于"></MenuItem>
</MenuItem>
站长使用.Net Core 3.1创建的WPF工程,创建“DropDownMenu”解决方案后,需要添加两个Nuget库:MaterialDesignThemes和MaterialDesignColors,上图的效果是使用该控件库实现的,非常强大。常用菜单可以采用TreeView树形控件+特定样式实现 ,本文介绍的是使用Expander+ListView的组合形式实现的导航菜单,两种各有各的好处,本文不做优劣评价。ViewModel中定义的两个菜单相关的类,将菜单及业务用户控件关联。
PS:这里使用了Lambda表达式,类似于ES6的语法,如果学过web前端应该比较熟悉。选择按钮的时候也有代码提示,点击代码会跳转到Github的库里面,可以看到原始的代码。这里的样式特别多,而且有没实际展示的效果,所以推荐还是直接看按钮示例来选择按钮样式。在WPF里面添加文件夹,命名随意,我习惯用static。使用Image.Clip进行图片裁剪。选中拖动的窗口,添加x:name。在键入首字母时也会自动提示。将添加的图片设置为资源。github仓库样式。
在App.xmal文件中添加样式信息-- 自定义样式 样式名 : MyListBoxItemStyle , 样式挂载:ListBoxItem -- > < Style x : Key = "MyListBoxItemStyle" TargetType = "ListBoxItem" >
1整体项目基于WPF的MVVM框架,分为上左中三部分,可伸缩;
2仿Extjs的左菜单,可动态绑定数据集,采用fontawesome作为图片;
3左菜单联动的中间部分的Tab控件,Tab页可关闭。
补充:该项目用vs2012运行。
准备修改积分的,原代码找不到了,麻烦管理员将这个资源删除,谢谢!
由于该浮窗的内容较多,单独做成一个资源样式进行引用。
使用WPF资源样式的方法参考这篇文章:讲解的特别详细
https://www.cnblogs.com/zhili/p/WPFResourceAndStyle.html
前台布局:
<!--悬浮菜单-->
在程序开发中,经常用到导航菜单功能,先开发带图标和单选项功能。
按照这样的思路,可以用RadioButton单选按钮进行封装,菜单按钮有图标,图标宽度,图标高度,鼠标移动到菜单背景颜色,按下背景颜色,选中颜色。以及菜单数据,例如菜单ID,路径,参数等。
先运行软件演示下效果:
菜单按钮高度和宽度是60,图标高度和宽度是35,光标是选中样式。
<Style TargetType="{x:Type nb:NbNavMenuItem}">
<Setter Prope
之前做了一个菜单样式,这样的:链接:WPF 修改(优化)Menu菜单的样式如今又来一个左侧菜单样式,其实只是修改了一下模板,如下图:还是老样子,代码全部都在MainWindow.xaml中...