MVVM Light Windows Phoneアプリケーションに共通のナビゲーション規約がありますか?

私のアプリケーションが大きくなるにつれて、同じタイプのエンティティがリストボックス内にますます多く登場していることがわかりました。

誰かがエンティティをタップすると、このエンティティの詳細ビューに移動します。

たとえば、カテゴリ別に商品リストに表示されたり、検索結果に表示されたり、保存済みのお気に入りとして表示されたりする可能性があります。私の例では、これらはすべて、ローカルのSQLCEストレージ内のテーブルから取得されます。

エンティティを何かに触れるたびに、私は基本的に同じコードを削除します:リストボックスのSelectionChangeイベントを購読し、エンティティを抽出し、MVVM Lightメッセージを使用して、選択したエンティティが変更されたことを知らせます。ビジネスを行うためにNavigationServiceを呼び出します。

誰かが似たようなことに取り組んできましたか?もしそうなら、あなたは何を思いついたのですか?さらに重要なのは、MVVM Lightツールキットのコンベンションが見落とされている場合は、正しい方向に私を指摘できますか?

0

2 答え

I think the question here is, how do I deal with this without cut/paste the same code each time? If this is the case, maybe trying to package the entity/listbox thing in a XAML usercontrol! Take a look at this: http://www.windowsphonegeek.com/articles/Creating-a-WP7-Custom-Control-in-7-Steps

表現が異なる必要がある場合は、これを見ることができます: http://www.windowsphonegeek.com/articles/Implementing-Windows-Phone-7-DataTemplateSelectorおよびCustomDataTemplateSelector (この例では、1つのリストボックスで異なるスタイル設定を行いますが、これはそれぞれのページに異なるスタイルを適用し、その上にリストボックスを置く)

0
追加された

NavigationServiceをコードビハインドまたはビューモデルから呼び出すのですか?前者の場合、 WP7 Navigation arcticle by LBugnion をVMからトリガーします。これを EventToCommand の動作と組み合わせると(ここのように)、エンティティをパラメータとして使用する、VM内にきれいでクリーンな" MyEntitySelected "コマンドを作成できるはずです。

0
追加された