XAML 居中菜单项
XAML Centering menuitem
所以我制作了一个宽度为 55 的简单菜单 我尝试使我的标题 ("FILE") 在按钮本身内居中,同时仍位于 window 的左侧。
目前基本代码看起来像这样
<Menu Height="25" VerticalAlignment="Top" Width="800" Margin="0">
<MenuItem Header="File" Margin="0" Height="25" Width="55" HorizontalContentAlignment="Center">
<MenuItem Header="Login"/>
<MenuItem Header="New User"/>
...
</MenuItem> </Menu>
我已经尝试过
这样的代码
<Menu.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</Menu.ItemsPanel>
要删除网格但没有成功,只是实际菜单居中,而不是按钮中的文本 "FILE"。
下面是 "FILE" 目前的样子,我试着让它在蓝色区域内居中。
http://i.stack.imgur.com/KRXw2.png
(无法post实际图像我没有足够的代表。)
谢谢。
您可以通过将 MenuItem's
header 模板设置为 TextBlock
来实现此目的,其中 TextBlock
与 MenuItem
的宽度相同本身。此外,您需要添加一个 Margin
来补偿默认的 MenuItem
模板。
<Menu Height="25" VerticalAlignment="Top" Width="800" Margin="0">
<MenuItem Margin="0" Height="25" Width="55" HorizontalContentAlignment="Center">
<MenuItem.Header>
<TextBlock Text="File" HorizontalAlignment="Stretch" Margin="-7" Width="55" TextAlignment="Center"/>
</MenuItem.Header>
<MenuItem Header="Login"/>
<MenuItem Header="New User"/>
</MenuItem>
</Menu>
所以我制作了一个宽度为 55 的简单菜单 我尝试使我的标题 ("FILE") 在按钮本身内居中,同时仍位于 window 的左侧。
目前基本代码看起来像这样
<Menu Height="25" VerticalAlignment="Top" Width="800" Margin="0">
<MenuItem Header="File" Margin="0" Height="25" Width="55" HorizontalContentAlignment="Center">
<MenuItem Header="Login"/>
<MenuItem Header="New User"/>
...
</MenuItem> </Menu>
我已经尝试过
这样的代码 <Menu.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</Menu.ItemsPanel>
要删除网格但没有成功,只是实际菜单居中,而不是按钮中的文本 "FILE"。
下面是 "FILE" 目前的样子,我试着让它在蓝色区域内居中。
http://i.stack.imgur.com/KRXw2.png (无法post实际图像我没有足够的代表。)
谢谢。
您可以通过将 MenuItem's
header 模板设置为 TextBlock
来实现此目的,其中 TextBlock
与 MenuItem
的宽度相同本身。此外,您需要添加一个 Margin
来补偿默认的 MenuItem
模板。
<Menu Height="25" VerticalAlignment="Top" Width="800" Margin="0">
<MenuItem Margin="0" Height="25" Width="55" HorizontalContentAlignment="Center">
<MenuItem.Header>
<TextBlock Text="File" HorizontalAlignment="Stretch" Margin="-7" Width="55" TextAlignment="Center"/>
</MenuItem.Header>
<MenuItem Header="Login"/>
<MenuItem Header="New User"/>
</MenuItem>
</Menu>