WPF에서 메뉴 모음을 만드시겠습니까?


120

내 WPF 응용 프로그램의 Windows 양식과 동일한 메뉴 모음을 만들고 싶습니다.

어떻게해야합니까?

WPF 컨트롤 도구 상자의 메뉴 옵션은 빈 막대 만 제공합니다.

답변:


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

11
밑줄이있는 이유는 무엇입니까? 왜 숨겨져 있습니까?
C4d 2016

27
C4u @ : 그 설정 바로 가기 키 ( "파일"에 대한 예를 들어 Alt + f를.)
BlueRaja - 대니 Pflughoeft


45

예, 메뉴는 바를 제공하지만 바에 넣을 항목 은 제공하지 않습니다 . (내 프로젝트 중 하나에서) 다음과 같은 것이 필요합니다.

<!-- 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>
    :

39
안녕하세요, 중첩 된 DockPanel 대신 InputGestureText 속성을 대신 사용할 수 있습니다. 예를 들어<MenuItem Header="Step" Click="MenuItem_Click" InputGestureText="F2" />
AlanFoster

3
@AlanFoster 그 힌트를 포함 하여 자신의 답변 게시해야합니다 . 나는 거의 그것을 놓 쳤고 그것은 부끄러운 일입니다! 수락 된 답변의 설정을 재사용 할 수 있습니다. 가장 간단한 것입니다. 그리고 가장 좋은 형식입니다.
Konrad Viltersten 2015 년

9
<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>

2
<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>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.