之前做了一个菜单样式,这样的:

链接:WPF 修改(优化)Menu菜单的样式

如今又来一个左侧菜单样式,其实只是修改了一下模板,如下图:

还是老样子,代码全部都在MainWindow.xaml中:

<Window x:Class="wpfcore.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:wpfcore" xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"mc:Ignorable="d"Background="#2D2D30"SnapsToDevicePixels="True"UseLayoutRounding="True"Title="MainWindow" Width="820" Height="340"><Window.Resources><Style x:Key="sep" TargetType="{x:Type Separator}"><Setter Property="Margin" Value="0,3" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Separator}"><Border Height="1" BorderThickness="1" BorderBrush="#999999" /></ControlTemplate></Setter.Value></Setter>
</Style><Style TargetType="{x:Type MenuItem}"><Setter Property="Height" Value="40"/><Setter Property="Foreground" Value="{Binding Path=Foreground, RelativeSource={RelativeSource AncestorType={x:Type Menu}}}"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type MenuItem}"><Border x:Name="Border"  Background="{TemplateBinding Background}" ><Grid><Grid.ColumnDefinitions><ColumnDefinition x:Name="ColIcon" Width="Auto" SharedSizeGroup="MenuItemIconColumnGroup"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><ContentPresenter Grid.Column="0" Margin="5 0" x:Name="Icon"VerticalAlignment="Center" ContentSource="Icon"/><Grid Grid.Column="1" x:Name="rightGrid"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto" SharedSizeGroup="MenuTextColumnGroup"/><ColumnDefinition x:Name="ColNext" Width="auto"/></Grid.ColumnDefinitions><ContentPresenter Grid.Column="0"Margin="{TemplateBinding Padding}"x:Name="HeaderHost"VerticalAlignment="Center"RecognizesAccessKey="True"ContentSource="Header"/><Grid Grid.Column="1" Margin="5 0"x:Name="ArrowPanel" VerticalAlignment="Center"><Path x:Name="ArrowPanelPath" HorizontalAlignment="Right" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="M0,0 L0,8 L4,4 z"/></Grid></Grid><Popup IsOpen="{Binding Path=IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}"Placement="Right" x:Name="SubMenuPopup" Focusable="false"><Border x:Name="SubMenuBorder" BorderBrush="#999999"BorderThickness="1" Padding="2,2,2,2"><Grid x:Name="SubMenu" Grid.IsSharedSizeScope="True"><StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/></Grid></Border></Popup></Grid></Border><ControlTemplate.Triggers><Trigger Property="Role" Value="TopLevelHeader"><Setter Property="Padding" Value="6 0"/><Setter Property="Height" Value="50"/><Setter Property="Background" Value="DarkRed"/><Setter Property="MinWidth" Value="0" TargetName="ColIcon"/><Setter Property="Width" Value="Auto" TargetName="ColNext"/><Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/><!--可添加一个附加属性,在trigger中,控制左侧的文字显示与隐藏,自行添加喽--><!--<Setter Property="Visibility" Value="Collapsed" TargetName="rightGrid"/>--></Trigger><Trigger Property="IsHighlighted" Value="true"><Setter Property="Background" Value="Green" TargetName="Border"/></Trigger><MultiTrigger><MultiTrigger.Conditions><Condition Property="IsHighlighted" Value="True"/><Condition Property="Role" Value="TopLevelHeader"/></MultiTrigger.Conditions><MultiTrigger.Setters><Setter Property="Background" Value="Green" TargetName="Border"/></MultiTrigger.Setters></MultiTrigger><Trigger Property="Role" Value="TopLevelItem"><Setter Property="Padding" Value="6 1"/><Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/></Trigger><Trigger Property="Role" Value="SubmenuHeader"><Setter Property="Padding" Value="5 2"/></Trigger><Trigger Property="Role" Value="SubmenuItem"><Setter Property="Padding" Value="5 2"/><Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/></Trigger><Trigger Property="Icon" Value="{x:Null}"><Setter Property="Visibility" Value="Collapsed" TargetName="Icon"/></Trigger><Trigger Property="IsEnabled" Value="false"><Setter Property="Foreground" Value="LightGray"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter>
</Style><Image x:Key="icon" x:Shared="False"  Width="32" Height="32" Source="/64.jpg" /></Window.Resources><Grid><Menu HorizontalAlignment="Left" VerticalAlignment="Top"FontSize="16" Foreground="#F6F6F6" Background="Transparent"><Menu.ItemsPanel><ItemsPanelTemplate><StackPanel IsItemsHost="True"/></ItemsPanelTemplate></Menu.ItemsPanel><MenuItem  Header="文件(F)" Icon="{StaticResource icon}"><MenuItem Header="新建(N)"><MenuItem Header="项目(P)..." /><MenuItem Header="存储库(R)..."/><MenuItem Header="文件(F)..." /><MenuItem Header="从现有代码创建项目(E)..."/></MenuItem><MenuItem Header="打开(O)"/><MenuItem Header="克隆存储库(E)..." Icon="{StaticResource icon}"/><MenuItem Header="启动窗口(W)" Icon="{StaticResource icon}"/><Separator Style="{StaticResource sep}"/><MenuItem Header="添加(D)"/><MenuItem Header="关闭(C)"/><MenuItem Header="关闭解决方案(T)"/><Separator Style="{StaticResource sep}"/><MenuItem Header="退出(X)" /></MenuItem><MenuItem  Header="文件(F)" Icon="{StaticResource icon}"><MenuItem Header="新建(N)"><MenuItem Header="项目(P)..."  Icon="{StaticResource icon}"/><MenuItem Header="存储库(R)..."/><MenuItem Header="文件(F)..." /><MenuItem Header="从现有代码创建项目(E)..."/></MenuItem><MenuItem Header="打开(O)"/><MenuItem Header="克隆存储库(E)..." Icon="{StaticResource icon}"/><MenuItem Header="启动窗口(W)" Icon="{StaticResource icon}"/><Separator Style="{StaticResource sep}"/><MenuItem Header="添加(D)"/><MenuItem Header="关闭(C)"/><MenuItem Header="关闭解决方案(T)"/><Separator Style="{StaticResource sep}"/><MenuItem Header="退出(X)" /></MenuItem><MenuItem  Header="文件(F)" Icon="{StaticResource icon}"><MenuItem Header="新建(N)"><MenuItem Header="项目(P)..." /><MenuItem Header="存储库(R)..."/><MenuItem Header="文件(F)..." /><MenuItem Header="从现有代码创建项目(E)..."/></MenuItem><MenuItem Header="打开(O)"/><MenuItem Header="克隆存储库(E)..." Icon="{StaticResource icon}"/><MenuItem Header="启动窗口(W)" Icon="{StaticResource icon}"/><Separator Style="{StaticResource sep}"/><MenuItem Header="添加(D)"/><MenuItem Header="关闭(C)"/><MenuItem Header="关闭解决方案(T)"/><Separator Style="{StaticResource sep}"/><MenuItem Header="退出(X)" /></MenuItem></Menu></Grid>
</Window>

OK,结束 。

如果喜欢,点个赞呗~

WPF 左侧菜单样式相关推荐

  1. php怎么写左侧菜单右侧内容,ifram 实现左侧菜单,右侧显示内容

    一般都是左侧的导航栏中的a标签中写一个target(a标签有target属性), 右侧的div标签中写一个iframe,在iframe中有name的属性,在左侧a标签中的target写上iframe中 ...

  2. .NET CORE(C#) WPF 抽屉式菜单

    .NET CORE(C#) WPF 抽屉式菜单 阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 使用简单动画实现抽屉式菜单 2. 代码实现 使用 .NET CORE 3.1 创建名为 & ...

  3. 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3926916 ...

  4. 一个web左侧菜单例子

    一 左侧菜单简介并更换图标 图图: 码码: <link rel="stylesheet" type="text/css" href="js/tr ...

  5. UI标签库专题八:JEECG智能开发平台 Menu(左侧菜单生成标签)

     1. Menu(左侧菜单生成标签) 1.1. 参数 属性名 类型 描述 是否必须 默认值 style string 菜单样式 否 null parentFun string 一级菜单 是 nul ...

  6. Vue开发实例(11)之el-menu实现左侧菜单导航

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  7. SPA项目开发之首页导航+左侧菜单

     一:mock.js模拟响应ajax请求    1.安装mockjs依赖   npm install mockjs -D              #只在开发环境使用 2.配置开发环境及生产环境 为了 ...

  8. spa项目开发首页导航左侧菜单

    前言:今天要分享的知识是spa项目完成首页导航以及左侧菜单 码字不易,转载请说明!!! 目录 目标 效果图 一.mock.js ①什么是Mock.js ②安装mockjs依赖 ③配置开发环境及生产环境 ...

  9. Python UI设计学习笔记,第四课:构建左侧菜单,使用 `QPushButton`

    文章目录 第4课:构建左侧菜单,使用 `QPushButton` 第4课:构建左侧菜单,使用 QPushButton 在第三课的基础上,继续在ui_main_window.py文件中,为 左侧菜单se ...

最新文章

  1. iPhone开发技巧之工具篇(4)--- 使用afconvert转换WAV文件
  2. 一个简单的更改让PyTorch读取表格数据的速度提高20倍:可大大加快深度学习训练的速度...
  3. 'avpicture_fill': 被声明为已否决
  4. 几个让我印象深刻的面试题(二)
  5. 邻接矩阵和邻接表的相互转化
  6. linux mysql 客户端编码设置_Windows、Linux系统下mysql编码设置方法_MySQL
  7. gevent-tutorial翻译和解读
  8. usb接口定义引脚说明_PerfDogService使用说明
  9. centos 安装trace_前期的准备工作-MacOS Mojave 10.14.3 下安装CentOS 7及Bochs 002
  10. 2019年企业数据生产力调研报告,90%的人都没看过
  11. ijkplayer-hook协议实现分析
  12. mssql数据库简繁体互转
  13. Java中的静态变量、静态方法问题
  14. (一)vmware中Linux共享文件夹设置
  15. szszszszsz
  16. ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operat
  17. Raywenderlich:寻迹
  18. 速度与激情:北塔BTSO2.5.5SP2震撼发布!
  19. Python入门(三)--- 元组,字典,集合
  20. V2X仿真测试平台技术研究

热门文章

  1. 在Ubuntu上安装RealPlayer的方法
  2. python中if语句缺省else_9_【Python学习分享文章】_if(条件语句)
  3. jQuery选择器和方法的等价关系
  4. 01: 实现注册登录功能
  5. 智能停车O2O 独角兽初现:“ETCP停车”获5000万美金A轮融资
  6. SQL 通过syscolumns.xtype动态查找指定数据类型字段所包含的数据
  7. UVa 1639 (期望) Candy
  8. R中大数据量数据框的合并慎重使用rbind
  9. 如何在Windows 10的地图应用程序中获取离线地图
  10. MySQL添加新用户、为用户创建数据库、为新用户分配权限