我的数据是一个组列表,每个组都有一个未定义的项目数。对于Hubpage,我想将每个组的项目限制为特定的数字。我是否必须创建仅包含这10个项目的第二个集合,或者是否有XAML方法将组项目限制在前n个?
答案 0 :(得分:2)
如果你绑定到ObservableCollection(或其他Collection类型)的IEnumerable,请使用Take extension方法返回前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 :(得分:1)
这两种方法都是可能的,但需要注意。如果您想使用标准XAML控件,则必须使用您想要显示的项目来有效地创建新集合。例如Take(N)
将使用N个元素创建新集合。您还可以创建自己的自定义控件,以限制可见元素的数量。我一般的新收集方法是最常见的方法。
答案 2 :(得分:0)
您可以在网格的“Grouped”事件中执行以下操作:
if(xamDataGridHotworkS_Flow.FieldLayouts[0].SortedFields.Count > 1)
{
xamDataGridHotworkS_Flow.FieldLayouts[0].SortedFields.RemoveAt(1);
}
如果网格上有分组,请删除用户提供的下一个分组。