2013-02-19 46 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