2010-12-07 17 views
2

MVVMモデルを最適な方法で使用しているサンプルWP7アプリケーションはありますか?Windows Phone 7のMVVM

私は最初のWP7アプリケーションを作成していますが、MVVMを使用していますが、正しい方法で行っているかどうかはわかりません。私はページごとに1つのビューモデルを持っていますが、各ページに分岐する1つのメインビューモデルではなく、どちらが正しい方法であるかわからないので、チェックアウトできるサンプルアプリケーションがあることを期待しています。

ありがとうございます!

編集:ViewModelsをアプリケーションの状態で保存する際に別の問題が発生します。これは、シリアライズ可能である必要があると思います(これはあまり効果がありません)。アプリケーションに戻ってきます。後者は、前者を呼び出すことで既に無効化されていますので、無効にするとその状態をシリアル化し、[re]を有効にするとシリアル化しなければなりません。これは、非アクティブ化するとき、私は状態を保存する方法である:

再び
object[] viewModels = new object[3]; 

viewModels[0] = App.ViewModelPage1; 
viewModels[1] = App.ViewModelPage2; 
viewModels[2] = App.ViewModePage3; 

PhoneApplicationService.Current.State.Add("LastState", viewModels); 

、これはおそらくそれを行うための効率的な方法ではありませんので、私は、私はあまりにもよく、これを処理したサンプルアプリを見ることができます願っています。

ありがとうございます!

+0

私は1つのページよりも複雑な何かを探しています。私が実際に探しているのは、各ViewModelがページ間でどのようにコミュニケーションを取るか、あるいはそのアプローチが正しいかどうかです。下の回答のリンクでは、ViewModelsがページごとではなくコンポーネントごとに使用されるという繰り返しが見られたので、正しく実行しているかどうかはわかりません。私はいくつかのページを持つFlixterやIMDBのようなアプリケーションを探しています。 – Carlo

答えて

1

MVVM Light toolkitを見ましたか?

シリアル化のベストプラクティスは、モデル内のデータ量、使用されているモデルの数、および常にすべてのモデルをロードする必要があるかどうかによって異なります。

1

Caliburn Microをチェックしてください。これは、多数のユーザーエクスペリエンスパターンを実装するために使用されますが、WP7をサポートし、サンプルコードを持っています。

1

ここにいくつかのMVVMサンプルとガイダンスがあります。

C#er : IMage: Model-View-ViewModel (MVVM) Explained

.NET by Example: Using MVVM Light to drive a Windows Phone 7/Silverlight 4 map viewer

The simplest way to do design-time ViewModels with MVVM and Blend.

またMVVMのここでの概要は、あなたが一見の価値かもしれないフレームワーク。

JAPF » Blog Archive » Discover and compare existing MVVM frameworks

軽量が良いようだとMVVM光が人気です。あなたがそれをチェックしたい場合は、ミックス10ビデオEX14のLaurent MVVMをデモしてください。

+0

JAPFの比較は、あなたのニーズに合った適切なフレームワークを発見するのに最適です。とても良い。 – SandRock

関連する問題