相关文章推荐
冷冷的单杠  ·  SSL/TLS 安全测试 - ...·  1 年前    · 
豪气的桔子  ·  python ...·  1 年前    · 
冷冷的板凳  ·  JAVA ...·  1 年前    · 
没有腹肌的野马  ·  python - Pandas ...·  1 年前    · 
<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中...