XAMLのUIオブジェクトに表示されるデータ型のWPFバインディングと変換について質問があります。
さまざまなアプリケーションで再利用したいユーザーコントロールがあります。ユーザーコントロールは、サムネイル画像といくつかのTextBlockを表示して、名前や住所などの個人の人口統計情報を表示します。ユーザーコントロールはMVVMデザインで使用されるため、ユーザーコントロールに固有のViewModelにバインドされます。
典型的なMVVMの設計原則に従って、ユーザーコントロールのViewModelは、より大きなUIを構成するために、他のViewModelに埋め込まれることがよくあります。
ユーザーコントロールビューモデルは、バインディングオブジェクトとして特定のタイプ(クラス)を想定しています。ただし、UCのVMが埋め込まれているViewModelは、まったく異なるオブジェクトモデルを持っているため、データをUCのVMに単純に渡すことはできません。親VMのデータモデルをUCVMのデータモデルに変換する必要があります。
私の質問はこれです:この変換を実行するための認可された方法はありますか?
IValueConverterとIMultiValueConverterを見ましたが、これらは進むべき道のようには見えません。
必要なのは、親VMと組み込みUC VMの間の一種のシムであり、親VMのデータがUCVMに必要な形式に変換されると思います。
または、基本的に、親VMが提供するタイプを処理するためにカスタムUC VMを作成する必要がありますか?