3

最近、MVVM とユーザー コントロールに関する質問をよく見かけます。私にとっては、ビューとユーザー コントロールが混同されています。

私にとって、MVVM を実行するときの View は、ユーザーが ViewModels と対話できるようにするための単なるインターフェイスです。つまり、少なくとも Bindings を使用したコントロールのコレクションです。ほとんどの場合、xaml のみですが、分離コードは禁止されていません。

私にとって、代わりにユーザーコントロールはビューモデルとはまったく関係ありません。ユーザーコントロールには、プロパティ、メソッド、および依存関係プロパティが存在するxaml ともちろんコードビハインドでの表現があります。

私はそれで間違った方法にいますか?

編集:もちろん、ビューとユーザーコントロールは UserControl クラスから継承します-したがって、技術的には両方ともユーザーコントロールです。しかし、MVVMを実行するときは、ビューという用語だけを使用します。ビューモデルと直接関係がない場合は、ユーザーコントロールという用語。

ps: 私の英語は下手すぎて、言いたいことを書き留めることができません...

4

2 に答える 2

2

ビューとユーザー コントロールは、MVVM ではまったく異なります。

ビューは、ユーザー コントロール、ウィンドウ、ページなどのすべての UI 関連のものを配置するフォルダーの概念的な名前です。したがって、ビューは、特定のアプリケーションの GUI パーツを含むフォルダーです。

ユーザーコントロールは、開発者が複数のコンポーネント/コントロールを組み合わせて単一のコントロールのように機能するように構成するコントロールです。ユーザー コントロールは、他のユーザー コントロールを保持することもできます。

ミックス ポイントは、WPF が XAML ベースであるため、通常、ビューが MVVM アプリケーションのユーザー コントロールを保持することです。そこにレンダリングされるので、開発者は自分のユーザーコントロールを自分の好きな場所にプラグインできます。

ウィンドウを他のウィンドウに配置することはできません。また、ページはフレーム要素でのみ表示できるため、ほとんどのビューはユーザー コントロールです。

于 2012-07-20T09:17:24.907 に答える
1

ユーザー コントロールがビュー モデルを持つ再利用可能なビューである可能性があるという事実を考慮してください。複合 UI アーキテクチャ全体が s シェル (メイン ウィンドウ、ビュー) とビューを含む一部の領域 (ユーザー コントロール) に基づいているためです。

于 2012-07-20T09:09:50.210 に答える