new命令的这个MenuItem对象没有设置Header属性,这是因为MenuItem会从命令中提取文本.虽然该特性带来的便利性看起来不大,但如果计划使用不同语言本地话应用程序,这一特性就很重要了,在这种情况下,只需要在一个地方修改文本即可,这比在整个窗口进行跟踪要容易的多.
MenuItem类还有一项功能,能自动提取Command.InputBindings集合中的第一个快捷键
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Window.CommandBindings> <CommandBinding Command="ApplicationCommands.New" Executed="NewCommand_Executed"></CommandBinding> </Window.CommandBindings> <Grid> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Menu> <MenuItem Header="File"> <MenuItem Command="New"></MenuItem> </MenuItem> </Menu> <Button Grid.Row="1" Command="ApplicationCommands.New">new</Button> </Grid> </Window>