ListBox与Stackpanel-Items -如何启用滚动?WPF

本文关键字:启用 滚动 WPF Stackpanel-Items 何启用 ListBox | 更新日期: 2023-09-27 17:51:21

我想为我的ListBox启用ScrollView。我的列表框显示StackPanels。不幸的是,我不能为我的列表框设置一个特定的高度(这是我发现的唯一的解决方案,我可以使用我的滚动条)。

我要做什么来获得一个滚动条为我的列表框?(即使我最小化/最大化窗口,它应该在必要时出现)…

谢谢

ListBox与Stackpanel-Items -如何启用滚动?WPF

嗯,WPF中的ListBox已经包含了一个滚动条,你可以像这样强制它可见:

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

很可能你的问题来自于这样一个事实,你的列表框驻留在一个控件中,它没有分隔它的高度,所以你的列表框的高度正好等于所需的空间(这可能比你的屏幕面积大)。例如,试着把它放在一个网格中。

用一个例子来说明:

<StackPanel>
    <ListBox>
        <ListBox.Items>
            <TextBlock>Test</TextBlock>
            ...
        </ListBox.Items>
    </ListBox>
</StackPanel>

将永远不会显示滚动条,因为堆栈面板的高度将始终足以显示列表框中的所有元素,即使它可能在屏幕上不可见。但是如果你在上面的例子中将StackPanel切换为Grid,你将在需要时拥有滚动条,因为Grid将约束子控件(ListBox)的高度。