C# 带有Stackpanel项的列表框-如何启用滚动?WPF
我想为我的列表框启用滚动视图。我的列表框显示StackPanels。 不幸的是,我无法为我的列表框设置特定的高度(这是我找到的唯一可以使用滚动条的解决方案) 要为我的列表框获取滚动条,我需要做什么?(即使我最小化/最大化窗口,它也应该在必要时出现)C# 带有Stackpanel项的列表框-如何启用滚动?WPF,c#,wpf,xaml,C#,Wpf,Xaml,我想为我的列表框启用滚动视图。我的列表框显示StackPanels。 不幸的是,我无法为我的列表框设置特定的高度(这是我找到的唯一可以使用滚动条的解决方案) 要为我的列表框获取滚动条,我需要做什么?(即使我最小化/最大化窗口,它也应该在必要时出现) 谢谢,WPF中的列表框已经包含一个滚动条,您可以强制使其如下所示可见: <ListBox ScrollViewer.VerticalScrollBarVisibility="Visible"> </ListBox>
谢谢,WPF中的列表框已经包含一个滚动条,您可以强制使其如下所示可见:
<ListBox
ScrollViewer.VerticalScrollBarVisibility="Visible">
</ListBox>
您的问题很可能来自这样一个事实,即您的列表框驻留在一个控件中,而该控件并不限定它的高度,因此您的列表框的高度正好等于所需的空间(可能比您的屏幕空间大)。例如,尝试将其放入网格中
因此,用一个例子来说明这一点:
<StackPanel>
<ListBox>
<ListBox.Items>
<TextBlock>Test</TextBlock>
...
</ListBox.Items>
</ListBox>
</StackPanel>
试验
...
永远不会显示滚动条,因为stackpanel的高度始终足以让listbox显示所有元素,即使它可能在屏幕上不可见。
但是,如果在上面的示例中将StackPanel切换到网格,则在需要滚动条时,会有滚动条,因为网格将约束子控件(ListBox)的高度
希望这有帮助。这就成功了!谢谢!我感到困惑,并认为这是因为我的项目作为StackPanel。但你说得对,我的列表框在堆栈面板中;)