【问题标题】:XAML Centering menuitemXAML 居中菜单项
【发布时间】:2015-08-09 01:44:00
【问题描述】:

所以我制作了一个宽度为 55 的简单菜单,我尝试让我的标题(“文件”)位于按钮本身的中心,同时仍位于窗口的左侧。

目前基本代码是这样的

<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>

要删除网格但没有成功,只有实际菜单居中,而不是按钮内的文本“文件”。

这是“文件”目前的样子的示例,我尝试使其位于蓝色区域的中心。

http://i.stack.imgur.com/KRXw2.png (无法发布实际图像我没有足够的代表。)

谢谢。

【问题讨论】:

    标签: wpf xaml menu centering


    【解决方案1】:

    您可以通过将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>
    

    【讨论】:

    • 很棒的简单修复,而且效果很好!非常感谢。
    猜你喜欢
    • 2013-05-27
    • 2013-01-10
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 2010-11-06
    • 2013-09-29
    • 1970-01-01
    • 2014-03-08
    相关资源
    最近更新 更多