c# - 使用网格向窗口添加菜单时,我是给菜单单独一行还是使用某种面板?

标签 c# wpf xaml

我正在尝试了解如何将 Menu 添加到我的 WPF XAML 窗口。我的窗口当前使用 Grid 进行内容布局。我想在窗口顶部添加一个 Menu,类似于您通常在 WinForm 应用程序中看到的那样。

我查看了示例,但似乎没有一个示例解释了 Grid 的使用。我看到大多数示例使用诸如 StackPanelDockPanel 之类的东西。

这是我当前的 Window,带有 Grid。我应该只给这个 Menu 单独的一行,还是我需要某种面板?

<Window>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="1*" />
            <RowDefinition Height="3*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*" />
            <ColumnDefinition Width="3*" />
        </Grid.ColumnDefinitions>
        <Menu>
            <MenuItem Header="File" />
        </Menu>
        <GroupBox Header="Seasons" Grid.Row="0" Grid.Column="0" Grid.RowSpan="2">
            <DataGrid Name="lstSeasons" AutoGenerateColumns="False" IsReadOnly="True" HeadersVisibility="Column" ItemsSource="{Binding SeasonsCollectionView}">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Name" Width="*" Binding="{Binding Name}" />
                    <DataGridTextColumn Header="Division" Width="*" Binding="{Binding Division}" />
                </DataGrid.Columns>
            </DataGrid>
        </GroupBox>
    </Grid>
</Window>

最佳答案

您可以将 Menu 添加到主 WPF 布局 Grid 中,如下例所示:

<Menu Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
    <MenuItem Header="_File"/>
    <MenuItem Header="_Edit"/>
    <MenuItem Header="_Help"/>
</Menu>

您不需要任何其他容器控件即可完成此任务。使用此 Menu 技术的实际 WPF 应用程序的屏幕截图如下所示(注意应用程序窗口顶部的 Menu 栏):http://examn8.com

希望这可能有所帮助。

关于c# - 使用网格向窗口添加菜单时,我是给菜单单独一行还是使用某种面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250776/

相关文章:

c# - 如何使用 TestServer 和 Antiforgery 修复 POST 集成测试的 500 Internal Server Error? ASP.NET核心

c# - 使用 API 更新 Google Docs 中的文档?

wpf - 如何使 WPF 输入控件在触摸屏上获得焦点时显示虚拟键盘

c# - PartialClassGenerationTask 和 MarkupCompilePass1 如何一起工作/属于

c# - 如何将生成的网格添加到另一个生成的 child ?

c# - 用户代码未处理常规转换 InvalidOperationException

c# - MVVM 卡住事件 Hook

c# - 如何取消选择DataGrid单元格?

c# - SpecFlow+ Runner 无法发现测试错误

c# - WPF 显示命令行选项