wpf - 如何使 ListBoxItem 垂直拉伸(stretch)

标签 wpf listbox autosize

我想做一个ListBox功能类似于 Grid .每次添加新项目时,它应该看起来像一个新的 GridRow添加了(带有星号的高度)。因此,如果有两个项目,它们将分别占用一半的可用空间。在某些时候 Grid行将小于项目 MinHeight此时Grid将展开并且包含 ScrollViewer 可以启动。

您将在 ScrollViewer 内的网格中看到此行为。 .但是,我需要使用 ListBox所以我可以设置ItemsSource , 创建一个 DataTemplate继续前进。

默认 ListBox 的问题ItemsPanel是它不会让我的第一个项目扩展以填充所有可用空间。

更新:
这是使它工作的代码:

<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Columns="1"></UniformGrid>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>

最佳答案

这篇 SO 帖子有一些与您的帖子相关的非常好的信息
WPF - Why Listbox items do not fill uniformgrid

关于wpf - 如何使 ListBoxItem 垂直拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1401656/

相关文章:

c# - 使用 MVVM 在 XAML 中禁用 telerik 网格中的特定列

c# - WPF:将 ListBox ContextMenu 的命令参数绑定(bind)到 ListBox 的选定项

sql-server - 强制 MS Access 检索所有列表框行并释放锁定

javascript - jQuery Autosize - 使用回调

c# - 内部带有 flowlayout 面板且 autosize = true 的 Groupbox 会收缩,就像它是空的一样

wpf - 在 WPF 中,如何获取 tabItem 的内容以填充可用空间?

c# - 将现有程序转换为 MVVM 模式

c# - 在任务栏中显示隐藏窗口的图标

c# - 按名称访问 C# 代码资源字典的元素

drop-down-menu - Google Apps 脚本列表框到下拉框