限制ListView / GridView中的行数

时间:2018-08-30 08:02:41

标签: wpf xaml listview gridview rows

我有一个ListView和一个GridView用作视图,类似于此处的示例:

<Grid>
    <ListView Margin="10" Name="lvUsers" ItemsSource="{Binding UsersView}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
                <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />                 
            </GridView>
        </ListView.View>
    </ListView>
</Grid>

如何限制显示的最大行数?

我已经看到其他示例引用了GridView.ItemsPanel(请参见下文),但这对我来说根本不起作用(“在GridView中找不到ItemsPanel”)。

我是维护底层CollectionView的唯一解决方案吗?

<GridView.ItemsPanel>
   <ItemsPanelTemplate>
       <ItemsWrapGrid MaximumRowsOrColumns="5"/>
   </ItemsPanelTemplate>
</GridView.ItemsPanel>

2 个答案:

答案 0 :(得分:0)

  

我唯一的维护基础CollectionView的解决方案吗?

是的。控件本身无法限制项目数。

您应该自己控制自己,不要在源集合中添加太多项目(在这种情况下为UsersView)。

无法限制XAML中的最大项目数。

答案 1 :(得分:-1)

您可以过滤UsersView并使用Take方法来获取要显示的项目数。

UsersView.Take(5);

除非您在其他地方需要整个UsersView