在行和列中显示ItemsControl

问题描述 投票:-2回答:1

我有以下XAML,它在一行中水平显示四个按钮。

如何让它每行显示三个按钮,并根据需要显示多行?

XAML

    <ItemsControl ItemsSource="{Binding DataButtons}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"  Margin="20"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>

        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Width="100" Height="100"
                    Content="{Binding ButtonName}" 
                    Command="{Binding ButtonCommand}"
                    CommandParameter="{Binding FilePath}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

What I'm getting now

enter image description here

What I need

enter image description here

wpf xaml
1个回答
0
投票

这听起来像你想要使用的是像'ASh'提到的UniformGrid,它将允许你将Columns设置为3并将根据Rows中有多少项自动缩放ItemsSource的数量。我发现这比手动堆叠WrapPanel更容易使用。

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