Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有Stackpanel项的列表框-如何启用滚动?WPF_C#_Wpf_Xaml - Fatal编程技术网

C# 带有Stackpanel项的列表框-如何启用滚动?WPF

C# 带有Stackpanel项的列表框-如何启用滚动?WPF,c#,wpf,xaml,C#,Wpf,Xaml,我想为我的列表框启用滚动视图。我的列表框显示StackPanels。 不幸的是,我无法为我的列表框设置特定的高度(这是我找到的唯一可以使用滚动条的解决方案) 要为我的列表框获取滚动条,我需要做什么?(即使我最小化/最大化窗口,它也应该在必要时出现) 谢谢,WPF中的列表框已经包含一个滚动条,您可以强制使其如下所示可见: <ListBox ScrollViewer.VerticalScrollBarVisibility="Visible"> </ListBox>

我想为我的列表框启用滚动视图。我的列表框显示StackPanels。 不幸的是,我无法为我的列表框设置特定的高度(这是我找到的唯一可以使用滚动条的解决方案)

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


谢谢,WPF中的列表框已经包含一个滚动条,您可以强制使其如下所示可见:

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

您的问题很可能来自这样一个事实,即您的列表框驻留在一个控件中,而该控件并不限定它的高度,因此您的列表框的高度正好等于所需的空间(可能比您的屏幕空间大)。例如,尝试将其放入网格中

因此,用一个例子来说明这一点:

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

试验
...
永远不会显示滚动条,因为stackpanel的高度始终足以让listbox显示所有元素,即使它可能在屏幕上不可见。 但是,如果在上面的示例中将StackPanel切换到网格,则在需要滚动条时,会有滚动条,因为网格将约束子控件(ListBox)的高度


希望这有帮助。

这就成功了!谢谢!我感到困惑,并认为这是因为我的项目作为StackPanel。但你说得对,我的列表框在堆栈面板中;)