WPF设置菜单栏
WPF中有已经写好的菜单栏控件Menu,我们直接在XAML上添加Menu控件就能够实现菜单栏!
1. 只包含一级菜单的Menu控件
xaml代码如下所示,通过在Menu控件中添加MenuItem就可以为菜单栏控件添加一级菜单。下面代码中添加了6个菜单控件,Header属性对应的是菜单栏中以及菜单显示的名称;Click代表菜单的点击事件,当菜单被点击时,执行其对应的Click事件,Click属性对应的值即为后台响应函数的函数名。
<Window ...>
<Grid>
...
<Menu Grid.Row="0" Background="LightSkyBlue">
<MenuItem Header="首页" Click="IndexClick"/>
<MenuItem Header="光源设置" Click="LightSetClick"/>
<MenuItem Header="相机设置" Click="CameraSetClick"/>
<MenuItem Header="PLC设置" Click="PlcSetClick"/>
<MenuItem Header="MES设置" Click="MesSetClick"/>
<MenuItem Header="帮助文档" Click="HelpClick"/>
</Menu>
</Grid>
</Window>
在MainWindow.xaml.cs下添加如下内容
...
namespace wpfbase
{
public partial class MainWindow : Window
{
...
private void IndexClick(object sender, RoutedEventArgs e) {
MessageBox.Show("你选择了首页");
}
private void LightSetClick(object sender, RoutedEventArgs e) {
MessageBox.Show("你选择了光源设置");
}
private void CameraSetClick(object sender, RoutedEventArgs e) {
MessageBox.Show("你选择了相机设置");
}
private void PlcSetClick(object sender, RoutedEventArgs e) {
MessageBox.Show("你选择了PLC设置");
}
private void MesSetClick(object sender, RoutedEventArgs e) {
MessageBox.Show("你选择了MES设置");
}
private void HelpClick(object sender, RoutedEventArgs e) {
MessageBox.Show("你选择了帮助文档");
}
private void Level2Click(object sender, RoutedEventArgs e) {
MessageBox.Show("你选择了二级菜单");
}
}
}
点击菜单产生的是一个路由事件:RoutedEventArgs。上面的cs代码为每个菜单添加了路由事件响应函数。
启动程序效果如下:
2. 多级菜单
多级菜单的设置方法与一级菜单类似,只需要在一级菜单MenuItem的内部嵌入MenuItem即可;
<Window ...>
<Grid>
...
<Menu Grid.Row="0" Background="LightSkyBlue">
<MenuItem Header="首页" Click="IndexClick">
<MenuItem Header="导入文件" Name="file_importfile" Click="File_ImportFile"/>
<MenuItem Header="导入目录" Name="file_importfolder" Click="File_ImportFolder"/>
<MenuItem Header="打开"/>
<MenuItem Header="保存" Click="File_Save"/>
<MenuItem Header="另存为"/>
<MenuItem Header="关闭"/>
</MenuItem>
<MenuItem Header="光源设置" Click="LightSetClick"/>
<MenuItem Header="相机设置" Click="CameraSetClick"/>
<MenuItem Header="PLC设置" Click="PlcSetClick"/>
<MenuItem Header="MES设置" Click="MesSetClick"/>
<MenuItem Header="帮助文档" Click="HelpClick"/>
</Menu>
</Grid>
</Window>
上面的xaml文件就给一级菜单"首页"添加了多个二级菜单:“导入文件”,“导入目录”,“打开”,“保存”,“另存为”,“关闭”!