XAML居中菜单项



所以我做了一个简单的菜单,宽度为55,我试着让我的标题("FILE")在按钮本身的中心,同时仍然在窗口的左边。

现在基本代码看起来像这样

<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"的例子,我试着把它放在蓝色区域的中间。

https://i.stack.imgur.com/KRXw2.png(不能发布实际图像,我没有足够的代表)

谢谢。

您可以通过将MenuItem's标头模板设置为TextBlock来实现这一点,TextBlockMenuItem本身的宽度相同。此外,您还需要添加一个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>

最新更新