2012-03-23 6 views
3

私はWPFフレームワークでWPFを使用しています。再利用可能なユーザーコントロールをWPFのユーザーコントロール内に構築するにはどうすればよいですか?

私は、複数のビューに提示しますUIの一部を(のは、それがユーザーの資格情報を収集しましょう)(画像を参照)を持っています。

私は考え出し

、ちょっと、これは再利用可能である、のは、独自のユーザーコントロールに入れましょう。

私は内側のユーザーコントロールを無視し、ちょうどあなたがする場合は、それを「フラット化」が、それをカプセル化しようとすると、私は最善のアプローチがあるのだろうか作っている場合、私は細かい作業のすべてを取得することができます。この「資格情報」ユーザコントロールに専用のビューモデルが必要ですか?その代わりに依存関係プロパティを介してデータを公開する必要がありますか?最善のアプローチは何ですか?

私は外側のユーザーコントロールのビューモデルに資格情報コントロールから収集したデータを公開する必要があります。

enter image description here

答えて

2

この "資格証明書" のユーザーコントロールは、独自の専用のビューモデルを持っているべきですか?その代わりに依存関係プロパティを介してデータを公開する必要がありますか?最善のアプローチは何ですか?あなたは「コントロール」としてそれを使用したい場合は

- -

Aユーザーコントロールは、2つの目的を果たすことができ、多くの場合、このような状況の場合である、私は100%のビューとして扱います。そのため、私はUserControlにViewModelを(少なくとも公開していなくても)作成させず、Dependency Propertiesを介してそのプロパティを公開します。これは、UserControlが他のFrameworkElementと同じように動作し、他のコントロールと同じように他の場所の独自のプロパティにドロップしてバインドできるため、再利用の点で最も柔軟性があります。

ただし、UserControlがViewModelのビューとして機能する場合、状況は異なります。ここでの目標は、再利用ではなく、ビューとVM間の懸念の分離です。

このような状況は、複数の第一のように聞こえる - あなたは複数の場所で再利用できるコントロールを持っていると思います。この場合、これは基本的にビュー要素になります。

+0

ありがとうございます – jglouie

関連する問題