グリッドのデータは、ICollectionView オブジェクトに簡単に読み込むことができます。コードは次のようになります。
このコードは、リソースとして格納されている XML ファイルから曲を読み込む Load ヘルパーメソッドを使用しています。実際のアプリケーションでは、この部分はサーバーから曲目カタログを読み込む Web サービスに置き換えると考えられます。次に、Load メソッドの実装を示します。
Song クラスには、曲の再生時間(ミリ秒)とサイズ(バイト)が格納されます。これはユーザーへの表示に適した書式ではなく、また、ここでの目的に適した形式に値を変換できるシンプルな .NET 書式文字列はありません。上のコードでは、Column.Format プロパティを設定する代わりに、Duration 列と Size 列に Column.ValueConverter プロパティを設定します。
Column.ValueConverter プロパティには、未加工データ値を列に表示する値に変換するために使用する IValueConverter オブジェクトを指定します。次に、曲の再生時間(ミリ秒)とサイズ(バイト)のコンバータの実装のサンプルを示します。
最初の値コンバータは、1 時間を超える再生時間に異なる書式を使用します。2 番目の値コンバータは、バイトをメガバイトに変換します。IValueConverter オブジェクトは柔軟でシンプルなので、WPF プログラミングではよく使用されます。
データ連結に関して実行する必要があるのは、これですべてです。以上で、適切な ICollectionView データソース、便利な書式を使って曲名、再生時間、およびサイズを表示する列の準備ができました。