2011-11-15 3 views
1

大学の学術プロジェクトの開発者プレビューを使用して、Windows 8のメトロスタイルのアプリを開発しています。 MVVMパターンを使用する必要があります。メトロスタイルのアプリケーションUIデザイン:ページとシナリオ

メインページには、ボタン付きのメトロスタイルのメインメニューがあります。各ボタンは、MVVMパターンに従って、別のビューに属している必要があるアプリケーション機能(つまり、「Show My Library」、「Show Show Favorites」など)につながります。

各ビューに新しい「メトロスタイルページ」を作成するか、use caseの各ページの「シナリオ」が必要ですか?多くのサンプルアプリケーションにあるようなものですか? MVVMを使用すると、「普通の古いWPF Windows」と「新しいメトロスタイルのページ」の間に1:1の一致があるはずですか?

答えて

2

MVVMの主な点は、ユーザーがViewModelデータを表示できる手段であること以外に、Viewの構成に関する厳しい規則がないことです。

ビューは、ページである必要はありませんが、コントロールであってもかまいません。したがって、必要に応じて複数のViewコントロールが表示される1つのページを持つことができます。後でもっと簡単に別のページに埋め込むことができるので、たとえページに表示される唯一のアイテムであっても、私はビューをコントロールとして持つことがよくあります。

MVVMパターンは、単にビジネス/コードロジックからUIを分離する手段です。 ViewModelクラスは、データの表示方法を気にせず、表示するデータのバインディングポイントやプロパティなどを提供するだけで、コード機能のトリガポイントも提供します。

コードビハインドファイルには決してコードが存在しないと主張する人もいますが、より実用的なアプローチが必要と考えている人もいます。ビューの視覚的な側面を制御するコードは問題なく、ビジネスロジックが侵入しているように見える場合があります。

ドラッグアンドドロップ機能を実装する場合、たとえば、コードの背後にコードが必要になります。これは実際には視覚的な側面なので問題はありませんが、ビジネスモデルによって特定のアイテムのみが指定されたり、指定された場所に最大数のアイテムがドロップされたりすると、ViewModelはビューがこれを実装するために使用します。そうすることで、Viewのコードがビジネスロジックを実装していると主張することができます。

元の質問に戻ってください。 Windows 8のメトロストライプアプリケーションのように動作するようにアプリケーションを実装しようとします。これは明らかにどのようにコード化されているかに関係しますが、そうしてもMVVMパターンに固執することは可能です。

+0

+1 "実用的なアプローチ"。あなたは正しい、それは哲学の問題ではない... – dave