2013年02月24日

WPFサンプル:CollectionViewSourceを使い、ListViewを表示する

   このエントリーをはてなブックマークに追加 Clip to Evernote
CollectionViewSourceを使い、ListViewを表示するサンプルです。
CollectionViewSourceとは、コレクションオブジェクト(ソースコレクション)とListViewなどの
ItemsControlの派生クラスの間を取り持つクラスです。
これを使うと、コレクションオブジェクトに影響を与えることなく、並べ替え処理、フィルター処理、
グループ化を行うことができます。

今回は、並べ替え処理(といっても、固定的な並び替え)を行うサンプルを示します。

まずは、C#でコレクションオブジェクトの定義をします。


これをListViewにバインドするXAMLを示します。


Window.ResourcesにCollectionViewSourceを指定し、このSourceとして、BooksDataオブジェクトを
バインドしています。
そして、ViewであるListViewには、このCollectionViewSourceをバインドしています。
CollectionViewSourceのSortDescriptionsには、


と指定しているので、Date、Priceの昇順にソートされます。

なお、今回は、Window.DataContextではなく、ListView.ItemsSourceにバインディングソースを割り当てています。
深い意味はないです。(そんな指定もできるんだなという例ということで...)

以下、実行結果です。

CollectionViewSource1


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52306210