方法: WPF アプリケーションで関連データを表示する
アプリケーションによっては、親子のリレーションシップによって相互に関連付けられた複数のテーブルやエンティティから取得したデータを使用する場合があります。 たとえば、Customers テーブルの顧客を表示するグリッドを表示するような場合です。 ユーザーが特定の顧客を選択すると、関連する Orders テーブルを使用して、その顧客の注文が別のグリッドに表示されます。
[データ ソース] ウィンドウから WPF デザイナーに項目をドラッグすると、関連データを表示するデータ バインド コントロールを作成できます。
関連するレコードを表示するコントロールを作成するには
[データ] メニューの [データ ソースの表示] をクリックして [データ ソース] ウィンドウを開きます。
[新しいデータ ソースの追加] をクリックして、データ ソース構成ウィザードの操作を完了します。
WPF デザイナーを開き、[データ ソース] ウィンドウ内の項目に対して有効なドロップ ターゲットとなるコンテナーが、WPF デザイナーに含まれていることを確認します。
有効なドロップ ターゲットの詳細については、「Visual Studio でのデータへの WPF コントロールのバインド」を参照してください。
[データ ソース] ウィンドウで、リレーションシップの親テーブルまたは親オブジェクトを表すノードを展開します。 親テーブルまたは親オブジェクトは、一対多リレーションシップの "一" の側のテーブルまたはオブジェクトです。
[データ ソース] ウィンドウから、親ノード (または親ノード内の個別の項目) をデザイナー内の有効なドロップ ターゲットにドラッグします。
ドラッグした各項目に対して新しいデータ バインド コントロールを作成する XAML が、Visual Studio によって生成されます。 さらに、この XAML により、親テーブルまたは親オブジェクトの新しい CollectionViewSource がドロップ ターゲットのリソースに追加されます。 一部のデータ ソースでは、Visual Studio により、親テーブルまたは親オブジェクトにデータを読み込むためのコードも生成されます。 詳細については、「Visual Studio でのデータへの WPF コントロールのバインド」を参照してください。
[データ ソース] ウィンドウで、関連する子テーブルまたは子オブジェクトを見つけます。 データの親ノードの一覧の下部に、関連する子テーブルと子オブジェクトが展開可能なノードとして表示されます。
[データ ソース] ウィンドウから、子ノード (または子ノードの個別の項目) をデザイナー内の有効なドロップ ターゲットにドラッグします。
ドラッグした各項目に対して新しいデータ バインド コントロールを作成する XAML が、Visual Studio によって生成されます。 さらに、この XAML により、子テーブルまたは子オブジェクトの新しい CollectionViewSource がドロップ ターゲットのリソースに追加されます。 この新しい CollectionViewSource が、デザイナーにドラッグした親テーブルまたは親オブジェクトのプロパティにバインドされます。 一部のデータ ソースでは、Visual Studio により、子テーブルまたは子オブジェクトにデータを読み込むためのコードも生成されます。
次の図は、[データ ソース] ウィンドウのデータセットに表示された、Customers テーブルに関連する Orders テーブルを示しています。
参照
処理手順
方法: Visual Studio でデータに WPF コントロールをバインドする
方法: WPF アプリケーションでルックアップ テーブルを作成する
チュートリアル: WPF アプリケーションでの関連データの表示