在WrapPanel上垂直列出项目并利用多列的优势

问题描述 投票:16回答:5

我需要垂直(使用ScrollViewer列出所有大小相同的项目)。如果容器足够大,可以显示x列,我希望这些项目通过x列传播>

我首先尝试过:

<ScrollViewer>
    <toolkit:WrapPanel Orientation="Horizontal" ItemHeight="30" ItemWidth="100">
        <Button Content="1" />
        <Button Content="2" />
        <Button Content="3" />
        <Button Content="4" />
        <Button Content="5" />
    </toolkit:WrapPanel>
</ScrollViewer>

“”

结果

-WrapPanel的工作方式与我想要的一样,但是我的物品是从“左到右”(不是垂直方向)排序的>

然后,我试图使WrapPanel的方向变为“ Vertical”:

“”

结果

-我的项目是垂直排列的,但没有分布在多列上。

这是我希望呈现的内容:

“”

我真的很想避免不得不编写代码来监视控件的大小以根据其大小创建/删除列。

我需要垂直(使用ScrollViewer列出所有大小相同的项目)。如果容器足够大以显示x列,我希望这些项通过x列散布,我首先尝试过:<...>

wpf silverlight xaml scrollviewer wrappanel
5个回答
10
投票

如果将Orientation设置为Vertical,则还应该设置渲染高度。例如到WrapPanelHeight="150"


3
投票

最后得到了可以使用的东西,但是需要代码。当您说我们需要调整WrapPanel的高度以使其正常工作时,我与所有人都同意。这是我的解决方案:


2
投票

WrapPanel如果不定义其Height,则无法实现这种行为


1
投票

使用WrapPanel的唯一方法是显式设置Height


0
投票

禁用垂直滚动条。这告诉WPF使用水平空间。]

© www.soinside.com 2019 - 2024. All rights reserved.