6

WPFにPagedCollectionViewの実装はありますか?Silverlightには存在しますが、WPFには存在しません。

ない場合、これを実装する最も簡単な方法は何でしょうか?

4

2 に答える 2

2

Silverlightからコードを取得して、WPFプロジェクトで使用するだけです。

于 2011-11-04T07:34:07.163 に答える
1

または、CollectionViewクラスのみを使用して、コレクションを「二重フィルター」します

ここにある解決策:ページング、並べ替え、フィルタリングのための独自のCollectionView

便宜上、ここにコードスニペットを貼り付けました。

        // obtenir la CollectionView 
        ICollectionView cvCollectionView = CollectionViewSource.GetDefaultView(this.Suivis);
        if (cvCollectionView == null)
            return;

        // filtrer ... exemple pour tests DI-2015-05105-0
        cvCollectionView.Filter = p_oObject => { return true; /* use your own filter */ };

        // page configuration
        int iMaxItemPerPage = 2;
        int iCurrentPage = 0;
        int iStartIndex = iCurrentPage * iMaxItemPerPage;

        // déterminer les objects "de la page"
        int iCurrentIndex = 0;
        HashSet<object> hsObjectsInPage = new HashSet<object>();
        foreach (object oObject in cvCollectionView)
        {
            // break if MaxItemCount is reached
            if (hsObjectsInPage.Count > iMaxItemPerPage)
                break;

            // add if StartIndex is reached
            if (iCurrentIndex >= iStartIndex)
                hsObjectsInPage.Add(oObject);

            // increment
            iCurrentIndex++;
        }

        // refilter
        cvCollectionView.Filter = p_oObject =>
        {
            return hsObjectsInPage.Contains(p_oObject);
        };
于 2017-04-21T18:20:30.720 に答える