0

私のデータはグループのリストであり、それぞれが未定義の数のアイテムを持っています。Hubpage では、各グループのアイテムを特定の数に制限したいと考えています。これらの 10 個のアイテムのみを含む 2 つ目のコレクションを作成する必要がありますか、またはグループ アイテムを上位 n 個に制限する XAML の方法はありますか?

4

3 に答える 3

2

ObservableCollection (または他の Collection タイプ)の IEnumerable にバインドしている場合は、Take 拡張メソッドを使用して上位 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 に答える