我正在处理一个WPF控件,它被放置在另一个窗口的TabControl中,我有一个菜单,它跨越我的自定义控件的顶部,并带有字母表的字母(用于索引目的):< / p>
<UserControl x:Class="thispageclass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d">
<Grid>
<StackPanel Orientation="Vertical">
<Menu Name="mnu">
<MenuItem Header="A" />
<MenuItem Header="B" />
<MenuItem Header="C" />
...
<MenuItem Header="Y" />
<MenuItem Header="Z" />
</Menu>
[other elements]
</StackPanel>
</Grid>
</UserControl>
如果所有字母都存在,菜单会比窗口宽,所以在不使窗口变宽的情况下,您无法看到最后几个项目。如果窗口太小而使菜单环绕,似乎应该是微不足道的,但我似乎无法弄清楚如何。
答案 0 :(得分:3)
只需将菜单的ItemsPanel覆盖为WrapPanel
即可<强>示例强>
<Menu.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</Menu.ItemsPanel>
答案 1 :(得分:0)
我创建了自己的最小样本,它让我发现这是我的自定义样式,这些样式搞砸了我的菜单。