ListBox垂直滚动条在菜单中不起作用

时间:2012-07-17 15:50:12

标签: c# .net wpf

我有一个菜单,我必须显示几种项目类型。以下是我现在所拥有的代码示例:

   <Menu Height="23" HorizontalAlignment="Left" Margin="84,40,0,0" Name="menu1" VerticalAlignment="Top">
                    <MenuItem Header="(None)" IsTextSearchCaseSensitive="False" IsTextSearchEnabled="False">
                        <MenuItem Header="Aggregation">
                            <MenuItem Header="Sum"/>
                            <MenuItem Header="Average"/>
                        </MenuItem>
                        <Separator/>
                        <ListBox ScrollViewer.VerticalScrollBarVisibility="Visible" >
                            <MenuItem Header="Test0" IsCheckable="True"/>
                            <MenuItem Header="Test1" IsCheckable="True"/>
                            <MenuItem Header="Test2" IsCheckable="True"/>
                            <MenuItem Header="Test3" IsCheckable="True"/>
                            <MenuItem Header="Test4" IsCheckable="True"/>
                        </ListBox>
                        <Separator/>
                        <MenuItem Header="Test5" />
                    </MenuItem>
                </Menu>

如果你注意到,那里有一个ListBox。我将垂直滚动查看器设置为可见,无论我添加多少项,它都不会激活。如果您想知道,是的,我尝试使用ListBoxItem而不是MenuItems,并没有产生任何影响。有没有不同的方法来做到这一点?我该怎么办呢? 感谢

1 个答案:

答案 0 :(得分:1)

你需要设置一个MaxHeight,否则ListBox会尽可能多地拉伸以显示它的所有元素。

<ListBox ScrollViewer.VerticalScrollBarVisibility="Visible" MaxHeight="250" />

那就像AkselK评论的那样,这看起来不像是好的设计 你可以继续创建子菜单。