2012-03-30 3 views
92

WPFアプリケーションのWindowsフォームと同じメニューバーを作成したいと思います。WPFでメニューバーを作成しますか?

どうすればよいですか?

WPFコントロールのツールボックスのメニューオプションでは、空白のバーのみが表示されます。

答えて

172
<DockPanel> 
    <Menu DockPanel.Dock="Top"> 
     <MenuItem Header="_File"> 
      <MenuItem Header="_Open"/> 
      <MenuItem Header="_Close"/> 
      <MenuItem Header="_Save"/> 
     </MenuItem> 
    </Menu> 
    <StackPanel></StackPanel> 
</DockPanel> 
+3

なぜアンダースコアがあるのですか?なぜ彼らは隠されているのですか? – C4u

+13

@ C4u:これらはショートカットキーを設定します(例えば、 "ファイル"のAlt + f) –

38

はい、メニューはあなたのバーを与えるが、それはバーに置くためにあなたに項目を与えるものではありません。あなたは(私自身のプロジェクトの1から)のようなものが必要になります。

<!-- Menu. --> 
<Menu Width="Auto" Height="20" Background="#FFA9D1F4" DockPanel.Dock="Top"> 
    <MenuItem Header="_Emulator"> 
    <MenuItem Header="Load..." Click="MenuItem_Click" /> 
    <MenuItem Header="Load again" Click="menuEmulLoadLast" /> 
    <Separator /> 
    <MenuItem Click="MenuItem_Click"> 
     <MenuItem.Header> 
      <DockPanel> 
       <TextBlock>Step</TextBlock> 
       <TextBlock Width="10"></TextBlock> 
       <TextBlock HorizontalAlignment="Right">F2</TextBlock> 
      </DockPanel> 
     </MenuItem.Header> 
    </MenuItem> 
    : 
+33

こんにちは、入れ子になったDockPanelではなく、代わりにInputGestureText属性を使用することができます。たとえば、 ' – AlanFoster

+2

@AlanFoster **ヒントを含むあなた自身の回答を投稿する必要があります。私はほとんどそれを逃したとそれは残念です!受け入れられた回答から設定を再利用できます。それは最も単純なものです、私は言うでしょう。そして最高のフォーマット。 –

6
<StackPanel VerticalAlignment="Top"> 
    <Menu Width="Auto" Height="20"> 
     <MenuItem Header="_File"> 
      <MenuItem x:Name="AppExit" Header="E_xit" HorizontalAlignment="Left" Width="140" Click="AppExit_Click"/> 
     </MenuItem> 
     <MenuItem Header="_Tools"> 
      <MenuItem x:Name="Options" Header="_Options" HorizontalAlignment="Left" Width="140"/> 
     </MenuItem> 
     <MenuItem Header="_Help"> 
      <MenuItem x:Name="About" Header="&amp;About" HorizontalAlignment="Left" Width="140"/> 
     </MenuItem> 
    </Menu> 
    <Label Content="Label"/> 
</StackPanel> 
1
<Container> 
    <Menu> 
     <MenuItem Header="File"> 
      <MenuItem Header="New"> 
       <MenuItem Header="File1"/> 
       <MenuItem Header="File2"/> 
       <MenuItem Header="File3"/> 
      </MenuItem> 
      <MenuItem Header="Open"/> 
      <MenuItem Header="Save"/> 
     </MenuItem> 
    </Menu> 
</Container> 
関連する問題