我想为我的ListBox启用ScrollView。我的ListBox显示StackPanels。 不幸的是我无法为ListBox设置一个特定的高度(这是我找到的唯一可以使用Scroller的解决方案)。
我需要做什么才能为我的ListBox获取ScrollBar? (即使我最小化/最大化窗口,它应该在必要时出现)......
由于
答案 0 :(得分:2)
嗯,WPF中的ListBox已经包含一个滚动条,您可以强制它显示如下:
<ListBox
ScrollViewer.VerticalScrollBarVisibility="Visible">
</ListBox>
很可能你的问题来自这样一个事实:你的列表框位于一个控件中,它没有界定它的高度,因此你的列表框的高度恰好等于所需的空间(可能超过你的屏幕空间) )。例如,尝试将其放在网格中。
所以用一个例子来说明它:
<StackPanel>
<ListBox>
<ListBox.Items>
<TextBlock>Test</TextBlock>
...
</ListBox.Items>
</ListBox>
</StackPanel>
永远不会显示滚动条,因为stackpanel的高度始终足以让列表框显示所有元素,即使它可能在屏幕上不可见。 但是如果在上面的示例中将StackPanel切换到Grid,则在需要时将使用滚动条,因为Grid将限制子控件(ListBox)的高度。
希望这有帮助。