我在WPF中遇到了ContextMenu的问题。菜单太宽了 - 这是我放在它上面的物品的宽度,再加上大约五百个像素。所以当你打开菜单时,不是一个干净的选项或按钮列表,每边都有大量的greyspace。我该如何解决这个问题?
编辑:这是菜单的XAML:
<ContextMenu Padding="0">
<Button Content="Close Tab" Height="23" Name="closetabbutton" Width="75" Margin="0,0,0,0" Click="closetabbutton_Click" />
<TextBox Height="23" Name="renamebox" Width="75" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ClipToBounds="True" TextChanged="renamebox_TextChanged" />
<Button Content="Close Menu" Height="23" Name="closemenubutton" Width="75" Margin="0,0,0,0" Click="closemenubutton_Click" />
</ContextMenu>
答案 0 :(得分:2)
该空间保留为左侧的图标,右侧输入手势文本(例如Ctrl + C)。这是设计的。
如果您想更改此设置,则必须创建自己的ContextMenu样式。以下是如何执行此操作的示例:
http://www.dev102.com/2008/06/20/how-to-create-a-wpf-custom-context-menu/
<强>更新强>
除了我的问题评论之外,MenuItems通常会在您使用按钮的地方使用。例如:
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Name="mnuClose" Header="Close tab" InputGestureText="Ctrl+C" />
<MenuItem Name="mnuRename">
<MenuItem.Header>
<TextBox Name="txtRename" Width="100" />
</MenuItem.Header>
</MenuItem>
</ContextMenu>
</Grid.ContextMenu>