Expander
1 :Expander折叠栏 简介
Expander控件有一个箭头按钮。单击箭头时,Expander中的子元素将显示或隐藏。箭头“展开”控件,使其子控件可见。
2 :Expander常用的属性
IsEnabled 默认是打开或者折叠起来,true就是展开 false折叠
ExpandDirection 展开的方向 down 向下展开
展开标签一般展开方向是上下,不设置高度
一般展开方向是左右,不设置宽度
VerticalAlignment= "top" HorizontalAlignment="Center" 展开宽随着内容进行自适应
3 关于Expander的实例
<Expander IsEnabled="True" ExpandDirection="Down" Width="200" BorderThickness="2" BorderBrush="Green"VerticalAlignment="Top" HorizontalAlignment="Center"><Expander.Header>我的好友</Expander.Header><StackPanel Orientation="Vertical"><CheckBox IsChecked="True" Margin="0,10">马云</CheckBox><CheckBox Margin="0,10">马化腾</CheckBox><CheckBox Margin="0,10">许家印</CheckBox></StackPanel>
</Expander>
Menu
1:Menu菜单简介
Menu 表示一个 Windows 菜单控件,该控件可用于按层次组织与命令和事件处理程序关联的元素。
该 Menu 控件提供一个项列表,用于指定应用程序的命令或选项。 通常,单击菜单上的项会打开子菜单或导致应用程序执行命令。
2 :Menu常用的属性
子菜单是: <MenuItem></MenuItem> ,子菜单标签又可以添加子菜单项
MenuItem.Icon 设置菜单图标的,
MenuItem.Header 和header属性都可以设置标题
MenuItem.Template 自定义子菜单
FlowDirection="RightToLeft" 菜单的排布方向
LeftToRight 先排左边在拍右边
子菜单的事件:最常用的是通过click进行绑定点标题三击事件,通过界面命令进行绑定事件RoutedCommand
点击子菜单之后进行页面跳转,使用frame标签,navigate的方法进行跳转
3 关于Menu的实例
路由:一个菜单对应的是一个以页面 这种对应关系就是路由
使用自定义RoutedUICommand(路由UI指令) 可以将一些预定义的操作绑定到应用程序的按钮或者菜单等控件上,
这些命令可以直接触发相应的事件,例如click、例如 click,keydown事件等
<Window.Resources>
<RoutedCommand x:Key="myCmd"></RoutedCommand>
</Window.Resources>
2 给"myCmd命令绑定什么样的操作
Executed事件,当页面切换的时候,就是等同于点击了子菜单项,
<Window.CommandBindings Command="{StaticResource myCmd}"
Executed ="CommandBinging_Executed">
</Window.CommandBindings>
<Menu Height="40" VerticalAlignment="Top"><MenuItem Header="出入管理" FontFamily="华文行楷"FontSize="20" BorderThickness="0,0,1,0"BorderBrush="Gray"Height="40"Command="{StaticResource myCmd}"></MenuItem><MenuItem Header="请假管理" FontFamily="华文行楷"FontSize="20" Height="40"></MenuItem><!--FlowDirection="RightToLeft" 菜单的排布方向LeftToRight 先排左边在拍右边--><MenuItem Header="考勤管理"
FontFamily="华文行楷"
FontSize="20"
Height="40"
FlowDirection="LeftToRight"><!--设置图标--><MenuItem.Icon><Image Width="40"Height="40" Source="https://img0.baidu.com/it/u=2374472521,3444438693"></Image></MenuItem.Icon><!--二级菜单--><MenuItem Header="考勤打卡" FontFamily="宋体" Height="40" FontSize="20"><!--三级菜单--><MenuItem><MenuItem.Header><TextBlock>2021班考勤打卡</TextBlock></MenuItem.Header></MenuItem><Separator></Separator><MenuItem><MenuItem.Header><TextBlock>2022班考勤打卡</TextBlock></MenuItem.Header></MenuItem></MenuItem><MenuItem Header="缺卡管理" FontFamily="宋体" Height="40" FontSize="20" Command="{StaticResource myCmd}"></MenuItem></MenuItem>
自定义菜单项
<MenuItem><!--自定义菜单项的模板标签--><MenuItem.Template><!--ControlTemplate 控件模板TargetType作用到哪种类型标签上 --><ControlTemplate TargetType="MenuItem"><TextBlock Name="Text" Text="原子弹管理"Padding="8"FontSize="20"FontFamily="华文行楷"></TextBlock><!--Triggers 触发 Property="IsMouseOver" 鼠标是否放上去Value="true" 放上去--><ControlTemplate.Triggers><Trigger Property="IsMouseOver"Value="true"><Setter TargetName="Text" Property="Background" Value="blue"></Setter></Trigger></ControlTemplate.Triggers></ControlTemplate></MenuItem.Template></MenuItem></Menu><!--设置frame进行跳转NavigationUIVisibility="Hidden"因此自带前进和后退--><Frame Name="f1" Margin="0,40,0,0" NavigationUIVisibility="Hidden"></Frame>
</Grid>
p1页面
<Grid Background="Green">
<TextBlock>我是page1</TextBlock>
</Grid>