3

Caliburn.Micro を使用した WPF アプリケーションがあります。DataGrid は、ViewModel 内のオブジェクトのコレクションにバインドされています。可能であれば、任意のフィールドで DataGrid コンテンツをフィルタリングする方法を提案していただけますか?

ありがとう。

4

1 に答える 1

8

ビュー モデルに新しいプロパティを作成します。

private ICollectionView fooView;

public ICollectionView FooView
{
    get
    {
        return this.fooView;
    }

    set
    {
        this.fooView = value;

        NotifyPropertyChanged("FooView");
    }
}

そして、バインド可能なコレクションを作成した後:

// Populate collection
BindableCollection collectionName = this.PopulateCollection();

FooView = CollectionViewSource.GetDefaultView(collectionName);

ビューでバインディングを からcollectionNameに変更しますFooView

CollectionView クラスは、データを並べ替え/フィルター処理/グループ化する方法を提供します。あなたの場合、How to: Filter Data in a View。フィルター コードは、モデルと要件によって異なります。

于 2012-07-27T12:20:00.953 に答える