gpt4 book ai didi

wpf - 当高度为自动时,如何让滚动条与 ListView 一起出现?

转载 作者:行者123 更新时间:2023-12-02 08:39:49 26 4
gpt4 key购买 nike

我正在开发 Windows 应用商店应用。

我有一个 ListView,里面有一堆项目。它嵌套在一些堆栈面板和网格中,但它们基本上都是自动调整大小的。本质上,ListView 被赋予了屏幕右半部分的大部分空间,无论其大小如何。

如果我给 ListView 一个硬值高度,滚动条将自动出现,无需额外工作。伟大的。但我不想设置高度...我希望它是其容器中的所有可用区域。如果我尝试变聪明并将其设置为 9999 或其他值,那么它就不会滚动。

我做了很多研究,类似的问题如 this说持有 ListView 的东西不能像 StackPanel 那样给它无限大。我有什么选择?我怎样才能将 ListView 放在任意空间的东西中并让滚动条出现?

我唯一的想法是,必须有一些方法可以在包含 ListView 的容器中告诉 ListView 它具有所有可用区域,其高度设置为该值。有点像如何必须将 ListViewItem 的 Horizo​​ntalContentAlignment 属性设置为“拉伸(stretch)”,以便让 ListView 中的项目知道它们实际具有的可用宽度。

我的布局的基本部分是这样的:

<!-- Nested in some other stuff simple Grids and StackPanels, none of which has hard heights set (all auto or *) -->

<!-- Even if I made this a Grid with one Row, setting definition to * or Auto doesn't help the issue - no scroll bar appears -->
<StackPanel>

<!-- Other stuff that has Visibility="Collapsed"... I have code so that only one item at a time within this container will ever be visible, and it gets all available space. -->

<ListView ItemsSource="{Binding SomeBigList}" ItemTemplate="{StaticResource MyDataTemplate}" />

<!-- Other stuff that has Visibility="Collapsed" -->

</StackPanel>

如何在不设置硬高度的情况下让滚动条出现在 ListView 中?谢谢你的帮助。

最佳答案

不要使用 <StackPanel> .

如果您可以控制绘制的内容,并且在任何时候只能看到一个项目,那么请使用非无限大小的容器,例如 <Grid> .您可以将每个项目放在同一行中,或者如果只是为了便于识别是什么,则可以使用单独的一行。

关于wpf - 当高度为自动时,如何让滚动条与 ListView 一起出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com