GridView设置固定列号

时间:2018-08-18 14:22:21

标签: uwp

是否可以设置GridView列的数量?

例如,我有一个GridView,该行应始终有3列。

我该如何实现?

2 个答案:

答案 0 :(得分:2)

您可以通过 Windows社区工具包的 UniformGrid 控件轻松实现这一目标。 docs https://docs.microsoft.com/en-us/windows/communitytoolkit/controls/uniformgrid

在此控件中,您可以控制行数和列数,或同时控制行数和列数,只需将nuget包用于 Windows社区工具包控件,然后使用它即可。祝好运。另外,如果要与数据绑定一起使用,则可以创建一个自定义用户控件,在其中可以定义DataTemplate,然后在运行时可以添加新的CustomUserControl();。并继续将它们添加到您的统一网格中,这可以解决您的数据绑定问题。

  

在新的 winui 库中,您还拥有另一个名为 Repeater 的新控件:https://reflectionit.nl/blog/2018/xaml-repeater-control

我们在布局上也非常灵活,可以为您提供帮助。

答案 1 :(得分:2)

  

是否可以设置GridView列的数量?

当然,您可以将VariableSizedWrapGrid用作ItemsPanel中的GridView。它具有MaximumRowsOrColumns属性,用于修复GridView的列或行。例如:

<GridView>
    <GridView.ItemTemplate>
        <DataTemplate>
            <Rectangle Height="200" Width="200" Fill="AliceBlue"/>
        </DataTemplate>
    </GridView.ItemTemplate>
    <GridView.ItemsPanel>
        <ItemsPanelTemplate>
            <VariableSizedWrapGrid
            Orientation="Horizontal"
            VerticalAlignment="Top"
            ScrollViewer.HorizontalScrollMode="Enabled"
            ScrollViewer.VerticalScrollMode="Disabled"
                MaximumRowsOrColumns="3">
            </VariableSizedWrapGrid>
        </ItemsPanelTemplate>
    </GridView.ItemsPanel>
</GridView>