シナリオ: Web サービスからオブジェクトのコレクションを収集し、それらを GUI に表示する必要があります。そのオブジェクトには別のオブジェクト (外部キー) への参照が含まれており、この関連オブジェクトも表す必要があります。
それぞれの欠点を持つ 2 つの可能なオプションを用意しました。
- 関連するオブジェクト全体を「ネットワーク経由で」送信します。
- 外部キーのみを送信し、別のコレクションを照会する関連オブジェクトを取得します (以前はローカルに保存されていました)
最初のオプションは、データ バインディング (私はクライアント側で WPF を使用しています) を簡単にしますが、通信にかなりのオーバーヘッドが発生します (特に、同じ関連オブジェクトが何度も表示される場合)。したがって、それは進むべき道ではないようです。
2番目のオプションは、はるかに小さなメッセージを実現し、それが進むべき道のようです. ただし、この関連オブジェクトへのデータ バインディングを実行する方法が見つかりません。
例を挙げて問題を明確にしましょう。
オブジェクト -> 部屋 || 関連オブジェクト -> 建物 || ローカルに保存されたコレクション -> 建物
Web サービスからのメッセージには、部屋の属性 (「名前」、「サイズ」など) と「BuildingId」が含まれています。「BuildingId」だけでなく、建物からの情報をUIに(データバインディングを介して自動的に)表示できるようにしたいと考えています。したがって、適切な建物オブジェクトを取得するために「Buldings」コレクションを照会し、そのプロパティを使用して UI を設定する必要があるのは当然のことです。
だから、私の質問は次のとおりです。
- WPF でデータ バインディングを介してそれを達成するにはどうすればよいですか? それを達成するための自動的な方法があると思います。ありませんか?
- 私が見逃している基本的な概念 (データバインディングに関連するもの) はありますか? 私は .NET スタックに慣れていないので、見た目よりも簡単かもしれません!
君たちありがとう!;)
PS:正しい方向に私を向ける可能性のあるドキュメント/リンクは高く評価されます;)