gpt4 book ai didi

wpf - 菜单控件中的中心标题

转载 作者:行者123 更新时间:2023-12-02 10:55:52 30 4
gpt4 key购买 nike

如何在菜单控件中垂直居中标题?

这是我的尝试:

<MenuItem Header="File" StaysOpenOnClick="True" FontFamily="Arial" VerticalAlignment="Center">
<MenuItem Header="Open" Click="Open_Click" IsEnabled="True"/>
</MenuItem>
</Menu>

但它与左上角对齐。

我做错了什么?

[编辑]

我的整个菜单现在看起来像这样:

<Menu Canvas.Left="0" Canvas.Top="0" Name="menu1" Margin="0,0,0,384">
<MenuItem Header="File" StaysOpenOnClick="True" FontFamily="Arial" VerticalAlignment="Center">
<MenuItem Click="Open_Click" IsEnabled="True">
<MenuItem.Header>
<TextBlock Text="Open" VerticalAlignment="Center"/>
</MenuItem.Header>
</MenuItem>
</MenuItem>
</Menu>

标题文本"file"仍然没有垂直居中(这是我想要居中的)。这段代码到底居中是什么?是“打开”文字吗?

[/编辑]

最佳答案

如果要格式化标题,您需要显式布局标题控件:

<MenuItem StaysOpenOnClick="True" FontFamily="Arial" VerticalAlignment="Center">
<MenuItem Click="Open_Click" IsEnabled="True">
<MenuItem.Header>
<TextBlock Text="Open" VerticalAlignment="Center"/>
</MenuItem.Header>
</MenuItem>
</Menu>

更新:要格式化 MenuItem 在 Menu 中的位置,您需要覆盖 Menu 的 ItemsPanelTemplate。默认情况下,菜单使用垂直 WrapPanel,将项目对齐到顶部。将默认面板替换为您选择的面板(StackPanel、Grid、DockPanel 等),您就可以根据需要将菜单项居中。这是一个例子:

<Menu Canvas.Left="0" Canvas.Top="0" Name="menu1" Margin="0,0,0,384">
<Menu.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</Menu.ItemsPanel>
<MenuItem Header="File" StaysOpenOnClick="True" FontFamily="Arial" VerticalAlignment="Center" >
<MenuItem Header="Open" Click="Open_Click" IsEnabled="True"/>
</MenuItem>
</Menu>

信息收集自this post在 MSDN 上。

关于wpf - 菜单控件中的中心标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10261595/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com