将WPF中的内容部分保持垂直,直到填充空间然后填充水平

时间:2016-02-17 04:40:05

标签: wpf windows xaml

我正在试图找到一种以横向方式正确组织内容的方法。

我有一个很宽但很短的空间。它分为不同的部分。 我希望每个部分都有一个垂直方向,但是一旦它耗尽了所有垂直空间,它应该溢出到右边的一个新“列”。

这是一个视觉效果,向您展示我的意思。每种颜色都是不同的部分。

mspaint visual

包含每个部分的水平堆栈面板位于那里,但我不确定每个部分使用哪个元素。

1 个答案:

答案 0 :(得分:1)

对于每种颜色使用单独的ListView WrapPanel作为其ItemsPanel,并且不要忘记在每个HorizontalScrollBar中停用ListView }

<Grid >    
    <ListView ItemsSource="{Binding ItemsLv1}" Background="Black" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel />
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <ListView.ItemTemplate>
            <DataTemplate>
                <Rectangle  Height="25" Width="100" Fill="White"/>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</Grid>

结果

enter image description here