WPF में एक मेनू बार बनाएँ?


120

मैं अपने WPF एप्लिकेशन में विंडोज़ के रूपों के समान एक मेनू बार बनाना चाहता हूं।

यह मैं कैसे करूंगा?

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

27
@ C4u: वे शॉर्टकट कुंजियाँ सेट करते हैं (उदाहरण के लिए "फ़ाइल के लिए Alt + f")
BlueRaja - Danny Pflughoeft

मैंने WPF मेनुस, कमांड बाइंडिंग पर शॉर्टकट कुंजियों आदि को जोड़कर एक व्यापक ट्यूटोरियल तैयार किया है youtu.be/bdmVWGjpA_8
जहीर

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" />
एलनफोस्टर

3
@AlanFoster आपको अपना खुद का उत्तर उस संकेत सहित पोस्ट करना चाहिए । मैं लगभग इसे याद किया और यह शर्म की बात है! आप स्वीकृत उत्तर से सेट अप का पुनः उपयोग कर सकते हैं। यह सबसे सरल है, मैं कहूंगा। और सबसे अच्छा स्वरूपित।
कोनराड विल्टर्स्टन

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>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.