2013-02-19 38 views
0

我的数据是一个组的列表,每个组都有一个未定义数量的项目。对于Hubpage,我希望将每个组的项目限制为特定的数字。我是否必须创建仅包含这10个项目的第二个集合,或者是否有XAML方法将组项目限制在最前面n?GridView - 限制组项目

回答

2

如果你绑定到一个IEnumerable关闭的ObservableCollection(或其他集合型),使用采取扩展方法返回前N.在示例模板,你会做这样的事情......

protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState) 
{ 
    // TODO: Create an appropriate data model for your problem domain to replace the sample data 
    var sampleDataGroups = SampleDataSource.GetGroups((String)navigationParameter); 
    this.DefaultViewModel["Groups"] = sampleDataGroups.Take(5); 
} 
1

两种方法都是可能的,但有一些注意事项。如果你想使用标准的XAML控件,你将不得不有效地创建一个包含尽可能多的项目的新集合。例如,Take(N)将创建具有N个元素的新集合。您也可以创建自己的自定义控件,以限制可见元素的数量。我通用的新收藏方式是最常见的一种。

0

你可以做以下网格的“分组”事件:​​

if(xamDataGridHotworkS_Flow.FieldLayouts[0].SortedFields.Count > 1) 
    { 
     xamDataGridHotworkS_Flow.FieldLayouts[0].SortedFields.RemoveAt(1); 
    } 

如果有对电网分组,删除用户提供的下一个分组。

+0

我问是否有可能限制组中显示的项目数量,即使组中有最多数量的项目。这不是问题的答案。 – Sascha 2013-06-24 13:38:00