我的 WPF 中的 ContextMenu 有问题。菜单太宽了——它是我放在上面的项目的宽度,加上大约五百个像素。因此,当您打开菜单时,不是一个干净的选项或按钮列表,而是每一侧都有大量的灰色空间。我怎样才能解决这个问题?
编辑:这是我的菜单 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>
最佳答案
左侧为图标保留空间,右侧为输入手势文本(例如 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>
关于c# - WPF 中的 ContextMenu 太宽,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4271563/