0

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

4

3 回答 3

2

如果您从ObservableCollection(或其他 Collection 类型)绑定到 IEnumerable,请使用 Take 扩展方法返回 Top 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);
}
于 2013-02-19T16:58:57.203 回答
1

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

于 2013-02-19T20:59:37.933 回答
0

您可以在网格的“分组”事件中执行以下操作:

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

如果网格上有分组,则删除用户提供的下一个分组。

于 2013-06-24T09:29:19.747 回答