赞
踩
今天简单介绍三个WPF控件,Menu,ContextMenu和StatusBar,这里只是认识一下,入个门。
menu控件即菜单栏控件,这个控件的制作效果就如平时使用的各种软件最上方的菜单栏一样,一会儿会通过一个例子展示一下效果。
这个控件的XAML语法如下:
- <Menu x:Name="menu">
- <MenuItem Header="" Click="">
- <MenuItem Header=""/>
- <MenuItem Header=""/>
- </MenuItem>
- <MenuItem Header=""/>
- <MenuItem Header=""/>
- <MenuItem Header=""/>
- </Menu>
在整个menu控件内,由许多的MenuItem组成,其中第一级定义的MenuItem将会显示为最上方我们看到的显示出来的菜单栏选项,第二级定义的MenuItem会通过点击第一级菜单栏选项再显示出来,其显示效果与等会要介绍的ContextMenu控件一样。这里面的Click即为相关项的点击添加事件,最终可以完成通过点击不同的子项实现不同的函数效果。
这个控件是用来设置上下文菜单的,什么是上下文菜单,如下图所示,我们选中一个控件,右键点击,显示出如下图所示的部分,即为上下文菜单,这与上述menu菜单栏的二级MenuItem子项显示的样式是一样的,我们在设计UI时,如果想要给某个控件添加这样的上下文菜单,就可使用这个控件,这个控件不能单独声明,因为其是给其他控件添加上下文菜单,所以必须写在某一控件内。
这个控件的XAML语法如下:我们用TextBlock举例
- <TextBlock Text="123" FontSize="50" Background="LightGreen">
- <TextBlock.ContextMenu>
- <ContextMenu HasDropShadow="True">
- <MenuItem Header="复制"/>
- <MenuItem Header="粘贴"/>
- <MenuItem Header="删除"/>
- </ContextMenu>
- </TextBlock.ContextMenu>
从上述语法可以看出,该控件是设置在了TextBlock的内部,用来显示TextBlock的右击上下文菜单内容,其中的header即为显示内容,HasDropShadow选择为true表示给上下文菜单添加阴影效果,可以在MenuItem中添加点击事件,以实现不同的点击函数效果。
这个控件也是一个集合控件,一般用在设置页面下方的状态栏,这个控件会把其内部的子项横向顺序排列,是一个水平条,可以在其中设置文本、图标或进度条等等内容,以提供用户有关应用程序当前状态的重要信息。
这个控件的XAML语法如下:
- <StatusBar FontSize="20" Background="LightBlue">
- <StatusBarItem>
- <TextBlock Text="底部栏"/>
- </StatusBarItem>
- <StatusBarItem>
- <Button Content="123"/>
- </StatusBarItem>
- <StatusBarItem>
- <RadioButton GroupName="1" Content="123" VerticalContentAlignment="Center"/>
- </StatusBarItem>
- <StatusBarItem>
- <ComboBox>
- <ComboBoxItem Content="123"/>
- <ComboBoxItem Content="456"/>
- </ComboBox>
- </StatusBarItem>
- <TextBlock Text="学习每一天"/>
- </StatusBar>
从上述语法我们可以看出,该控件内部可以任意设置子项控件,而且我们可以发现其子项不仅可以写在StatusBarItem的内部,也可以直接写在StatusBar 内部,都可以显示出来。
- <Window x:Class="ContextMenu_StatusBar.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:ContextMenu_StatusBar"
- mc:Ignorable="d"
- Title="MainWindow" Height="450" Width="800">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="auto"/>
- <RowDefinition/>
- <RowDefinition Height="auto"/>
- </Grid.RowDefinitions>
- <Menu FontSize="20" Background="Transparent">
- <MenuItem Header="新建">
- <MenuItem Header="文本"/>
- <MenuItem Header="PDF"/>
- </MenuItem>
- <MenuItem Header="编辑"/>
- <MenuItem Header="工具"/>
- <MenuItem Header="帮助"/>
- </Menu>
- <TextBlock Grid.Row="1" Text="123" FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center" Background="LightGreen">
- <TextBlock.ContextMenu>
- <ContextMenu HasDropShadow="True">
- <MenuItem Header="复制"/>
- <MenuItem Header="粘贴"/>
- <MenuItem Header="删除"/>
- </ContextMenu>
- </TextBlock.ContextMenu>
- </TextBlock>
- <StatusBar Grid.Row="2" FontSize="20" Background="LightBlue">
- <StatusBarItem>
- <TextBlock Text="底部栏"/>
- </StatusBarItem>
- <StatusBarItem>
- <Button Content="123"/>
- </StatusBarItem>
- <StatusBarItem>
- <RadioButton GroupName="1" Content="123" VerticalAlignment="Center" VerticalContentAlignment="Center"/>
- </StatusBarItem>
- <StatusBarItem>
- <ComboBox>
- <ComboBoxItem Content="123"/>
- <ComboBoxItem Content="456"/>
- </ComboBox>
- </StatusBarItem>
- <TextBlock Text="学习每一天"/>
- </StatusBar>
- </Grid>
- </Window>
显示效果:
点击新建:
右键中间的控件:
这里就是显示了一下,没有在后端写相关的点击事件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。