[WPF]MenuItem右侧空白

本文介绍了一种在WPF应用程序中解决ContextMenu显示时右侧出现多余空白的方法。通过调整MenuItem的Padding和宽度属性,可以有效消除空白区域,使菜单布局更加紧凑。
<Window>
    <Grid Background="SteelBlue">
        <Grid.ContextMenu>
            <ContextMenu>
                <MenuItem Header="右侧空白"/>
                <MenuItem Header="右侧空白"/>
                <MenuItem Header="右侧空白"/>
            </ContextMenu>
        </Grid.ContextMenu>
    </Grid>
</Window>

<Window>
    <Grid Background="SteelBlue">
        <Grid.ContextMenu>
            <ContextMenu>
                <MenuItem Header="右侧真的存在空白"/>
                <MenuItem Header="右侧真的存在空白"/>
                <MenuItem Header="右侧真的存在空白"/>
            </ContextMenu>
        </Grid.ContextMenu>
    </Grid>
</Window>

解决办法:

<Window>
    <Grid Background="SteelBlue">
        <Grid.ContextMenu>
            <ContextMenu>
                <ContextMenu.ItemContainerStyle>
                    <Style TargetType="MenuItem">
                        <Setter Property="Padding" Value="5,4,-80,0"/>
                        <Setter Property="Width" Value="130"/>
                    </Style>
                </ContextMenu.ItemContainerStyle>
                <MenuItem Header="右侧好像没有空白"/>
                <MenuItem Header="右侧好像没有空白"/>
                <MenuItem Header="右侧好像没有空白"/>
            </ContextMenu>
        </Grid.ContextMenu>
    </Grid>
</Window>

转载于:https://www.cnblogs.com/youliao/p/6178700.html

WPF(Windows Presentation Foundation)是一种用于创建 Windows 桌面应用程序的技术。MenuItemWPF 中的一个控件,用于创建菜单和子菜单。每个 MenuItem 可以包含多个子项,从而构成一个层次结构的菜单。 下面是一个示例,演示如何在 WPF 中创建一个简单的菜单和子菜单: ```xaml <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF Menu Example" Height="450" Width="800"> <Grid> <Menu> <MenuItem Header="File"> <MenuItem Header="New" Click="MenuItem_Click"/> <MenuItem Header="Open" Click="MenuItem_Click"/> <MenuItem Header="Save" Click="MenuItem_Click"/> </MenuItem> <MenuItem Header="Edit"> <MenuItem Header="Cut" Click="MenuItem_Click"/> <MenuItem Header="Copy" Click="MenuItem_Click"/> <MenuItem Header="Paste" Click="MenuItem_Click"/> </MenuItem> </Menu> </Grid> </Window> ``` 在上面的示例中,我们创建了一个 Window,并在其中添加了一个 Menu 控件。Menu 控件包含两个 MenuItem 控件,分别表示 "File" 和 "Edit" 菜单。每个 MenuItem 控件又包含了多个子项,分别表示具体的菜单选项。 在代码中,我们为每个 MenuItem 的 Click 事件绑定了一个事件处理程序。当用户点击菜单项时,相应的事件处理程序将被调用。 希望这个示例能帮助你理解 WPF 中的 MenuItem 控件。如果你有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值