DataGrid コントロールの使用
DataGrid コントロールは、行と列の形式でデータを表示します。列を基準にしてデータを並べ替える機能も付いています。
DataGrid コントロールの詳細については、MSDN の「DataGrid クラス」を参照してください。
DataGrid コントロールに表示するサンプル データを作成するには
DataGrid コントロールには、どのような種類のデータでも表示できます。下の「DataGrid コントロールにデータを表示するには」で使用するデータがない場合は、次の手順に従って、DataGrid コントロールの機能を確認するためのサンプル データを準備してください。
[データ] パネルが表示されていない場合は、[ウィンドウ] メニューの [データ] をクリックします。
[データ] パネルで [サンプル データ ソースの追加]
をクリックし、[新しいサンプル データの定義] をクリックします。
[新しいサンプル データの定義] ダイアログ ボックスで、データ セットの既定の名前を変更し、データを使用できるようにするプロジェクトの場所を選択します。
[アプリケーションの実行中にサンプル データを有効化] チェック ボックスをオンにします。
ヒント :
[アプリケーションの実行中にサンプル データを有効化] チェック ボックスをオンにすると、アプリケーションを実行したときにサンプル データが表示されます。このチェック ボックスをオフにすると、サンプル データがアートボードだけに表示されます。
詳細については、「アプリケーション実行時のサンプル データ表示」を参照してください。
[OK] をクリックします。
3 つのプロパティ (文字列
、数値
、ブール型
) を持つコレクション
のサンプル データが作成されます。
次に、サンプル データと DataGrid コントロールの機能を確認するために、コレクションにイメージ プロパティを追加します。
[コレクション]
の横にある [シンプル プロパティの追加]
をクリックして、コレクションに新しいプロパティを追加します。
ヒント :
[シンプル プロパティの追加] ボタン
の横にあるドロップダウン矢印をクリックすると、別のプロパティ (シンプル、複合、コレクション) を選択できます。
新しく追加したプロパティ ([Property4]) の横にある [プロパティの種類の変更]
をクリックします。表示されたエディターで、[種類] の横にあるドロップダウン矢印をクリックして、[イメージ] をクリックします。
エディターの外側をクリックして、エディターを閉じます。
[Property4] の横にあるアイコンが、イメージ プロパティを示す形
に変わります。
これで、DataGrid コントロールに表示するサンプル データの準備ができました。
サンプル データの変更とデータ プロパティの追加の詳細については、「サンプル データの変更」を参照してください。
DataGrid コントロールにデータを表示するには
アートボードのコントロールにデータをバインドするには、さまざまな方法があります。ここでは、DataGrid コントロールを使用している場合にすばやくバインドできる方法を示します。
その他の方法については、「データへのオブジェクトのバインド」を参照してください。
[ツール] パネルの [アセット]
をクリックします。
ヒント :
または、[ウィンドウ] メニューの [アセット] をクリックして、ドッキングされた [アセット] パネルを表示します。
[アセット] パネルで [コントロール] を展開して [すべて] をクリックし、[DataGrid]
コントロールをクリックします。
[ツール] パネルの [アセット]
の下に、DataGrid コントロールを示すアイコンが、選択された状態で表示されます。
マウスを使用して、メイン ドキュメントのアートボードに大きな DataGrid コントロールを描きます。
[データ] パネルで、サンプル データ コレクション (
[コレクション]) を、新しい DataGrid オブジェクトにドラッグします。
DataGrid オブジェクトに、サンプル データ ソースにあるコレクションが表示されます。このとき、イメージ プロパティがイメージ オブジェクトに、ブール型プロパティがチェック ボックスに変換されます。
F5 キーを押してアプリケーションを実行します。
上の手順に従ってサンプル データを作成し、[アプリケーションの実行中にサンプル データを有効化] をオンにしていると、次のように表示されるはずです。
ヒント :
表示されるサンプル データを変更した後で、アートボードにある DataGrid オブジェクトを更新するには、個々のデータ プロパティをコントロールにドラッグして新しい列を追加するか、コレクション全体をドラッグします。[オブジェクトとタイムライン] パネルで、[DataGrid] オブジェクトの [Columns] ノードを展開すると、列を削除したり並べ替えたりできます。
DataGrid コントロールの列見出しを変更するには
データのコレクションを DataGrid コントロールにドラッグすると、列見出しがプロパティの名前と同じになります。ただし、DataGrid コントロールにデータを表示した後で、列見出しを変更できます。
[オブジェクトとタイムライン]パネルで [DataGrid] オブジェクトを展開して、[Column] オブジェクトを表示します。
一番上の [Column] オブジェクト ([DataGridTemplateColumn] "Property1") を選択します。[プロパティ] パネルで、[Header] プロパティの横にわかりやすい名前 (「説明」など) を入力して Enter キーを押します。
同じ要領で、残りの 2 つの [Column] オブジェクトの名前を変更します。
F5 キーを押してアプリケーションを実行します。
上の手順に従ってサンプル データを作成し、[アプリケーションの実行中にサンプル データを有効化] をオンにしていると、次のように表示されるはずです。
DataGrid コントロールの外観の変更
コントロールの外観を変えるには、そのプロパティを変更するか、スタイルを設定するために使用するテンプレートを変更します。コントロール全体のテンプレート、空行のテンプレート、セルや見出し用のテンプレートなどがあります。
詳細については、「テンプレートの作成または変更」を参照してください。
列見出しの外観を変更するには
[オブジェクトとタイムライン] パネルかアートボードで [DataGrid] オブジェクトを右クリックし、[追加テンプレートの編集]、[ColumnHeaderStyle の編集] の順にポイントして、[コピーして編集] をクリックします。
[スタイル リソースの作成] ダイアログ ボックスで、[OK] をクリックします。
Expression Blend がテンプレート編集モードになります。アートボードの上端にある階層リンク バーに、DataGrid オブジェクト内のテンプレートを編集していることが示されます。
[オブジェクトとタイムライン] パネルで、テンプレートにオブジェクトを追加したり、[プロパティ] パネルで既存のオブジェクトのプロパティを変更したりします。たとえば、[Grid] オブジェクトには、並べ替えボタンのアイコンを示す [SortIcon] というパスがあります。このパスをイメージに変更するか、パス自体を変更します。アプリケーションの実行時に列見出しをクリックすると、並べ替えボタンが表示されます。
ヒント :
プロパティの中には、黄色い枠が付いているものがあります。これは、そのプロパティがデータにバインドされているか、テンプレートを使用するコントロールのプロパティにバインドされているという意味です。
テンプレートのバインドの詳細については、「テンプレートをサポートするコントロールのスタイル処理」を参照してください。
イメージを含むセルの外観を変更するには
アートボードで、イメージを表示している DataGrid オブジェクトのセルを右クリックし、[列テンプレートの編集]、[CellTemplate の編集] の順にポイントして、[現在のテンプレートの編集] をクリックします。
[オブジェクトとタイムライン] パネルで、[StackPanel] レイアウト コンテナーに別のオブジェクト (著作権の記号など) を追加するか、[Image] オブジェクトを選択して [プロパティ] パネルでそのプロパティを変更します。
ここで加えた変更が、イメージを含むすべてのセルに反映されます。
1 行おきに付ける色を変更するには
[オブジェクトとタイムライン] パネルで、[DataGrid] オブジェクトを選択します。
[プロパティ] パネルの [Rows] の下で、[AlternatingRowBackground] プロパティの横にある四角形の内側をクリックします。
ブラシ エディターが表示されます。
カラー エディターの上端にあるタブの 1 つをクリックして、ブラシの種類を選択します。既存のブラシ([単色ブラシ]
) を使用する場合は、[Alpha] プロパティの値を上げて不透明にします。
他の行の色を変更する場合は、[RowBackground] プロパティを変更します。
ブラシの変更の詳細については、「色、ブラシ、およびマスクの設定」を参照してください。