MVVMはコードビハインドを意味しません。
MVVMは、懸念の分離のパターンです。 Model
は、ビジネスロジックを含むクラスである
Model
View
ViewModel
:それは、3つの部分(出現順)に、アプリケーションのアーキテクチャを分離するのに役立ちます。
View
しか含まビュークラスを表します別のテキストボックスの色をコピーしたコードのみが、ビューのロジックが含まれていない限り、ボタンのクリックイベントハンドラに例えば((XAML
とcode-behind
)コードビハインドを持ってOKです関連ロジックを表示、これは当然のことながらXAML
で行うことができますが、ビューのMVVM
観点から、それは重要ではありません)
ViewModel
はView
への参照せずに閲覧者の行動を表しています。
Model
は何も知らない:Visibility
はビュー関連のタイプ
public Visibility MyVisibility { get; set; }
あるのでMVVM
のパーツ間の依存関係はこのように書きますので、たとえば、私の意見で、このプロパティは、MVVM
パターンに違反することを
お知らせ
ViewModel
は約Model
View
約ViewModel
を知っている知っています
ViewModel
に囲まれた方法をしっかり
ビューは--->のViewModel --->MVVM
を使用するためのモデル
私が思うには重要ではありません。 ViewModel
のプロパティとコマンドを使用しているので、既にバインドされています。
(たとえば、インターフェイスをViewModel
として使用して)境界線を設定しないと、実際のビューなしでViewをテストすることができます。ViewModel
たとえば、独自の「デザイン時」ビューモデルを作成します。あなたの現在のソリューションの作品の場合
とあなたのニーズを満たし、あなたはちょうどそのMVVM
とWPF
から始まるあなたはViewModel
の種類
から完全に
View
を隔離する必要が会うまでそのを続けるには、あなたが期待して働いて、このようですか? – FabioWPFチャットルームで自由にお立ち寄りください。 MVVMをやっています。 http://chat.stackoverflow.com/rooms/18165/wpf –
@Fabioはい、それはかなりうまくいきます。しかし、すべてのWebサイトには "ゼロコードビハインド"という言葉があるので、別の方法が必要だと思った。 –