我的数据是一组组的列表,每个组都有未定义数量的项目。对于 Hubpage,我想将每个组的项目限制为特定数量。我是否必须创建仅包含这十个项目的第二个集合,或者是否有 XAML 方法将组项目限制在前 n 个?
问问题
519 次
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 回答