2016-05-01 5 views
-2

WP8.1またはWPFデスクトップアプリケーションでは、ViewModelをApp.xaml.csの静的インスタンスとして作成し、AppMyViewModelとしてアプリケーション全体で参照できますが、UWPでは(おそらく設計によって)うまくいかないようです。UWPアプリケーションのグローバルMVVM ViewModel

グローバルViewModelが必要な理由は、多くのアプリと同様に、Webサイトから情報をダウンロードしてVMを生成するメインページが1つあります(クライアント用のビジネスベースのRSSリーダーで作業しています)。別のページに移動してからMainPageに戻ってください。私のVMはもう一度空です(私はオプションがないようですが、MainPageで宣言しています)ので、毎回すべてのデータをリロードする必要があります。

また、ナビゲートされたページからVMにアクセスしたい場合は、VMへの参照をそのページに渡す必要がありますが、グローバルなアプローチではまだApp.myViewModelにアクセスできます。

私はVMの内容を変更する唯一の時間はメインページのUIアクションからです。そのため、他のページからメインページに戻ってナビゲートし、VMを元のままにしたいと考えています。

これはUWPでどのように行われるのか説明していただけますか? App.xaml.csを引き続き使用できますか?これが不可能なら、なぜこのように設計されたのでしょうか?

+0

アンチパターンであっても、VMにシングルトンを使用できます。そうすれば、情報を失うことはありません。 –

答えて

1

あなたはViewModelLocatorを探しています。ここであなたはそれを使用する良い説明と例を持っています。 https://stackoverflow.com/a/14154088/4727426

+0

答えをありがとう、しかし、私はむしろ私はむしろMVVMLightを使用する私のアプリをリファクタリングする必要があることを意味 - 通常のMVVM構造を使用して同等のですか? – nzmike

+0

もう少し調査をしましたが、実際MVVMLightのように見えるのがベストソリューションですので、これを答えとしてマークしました。 – nzmike

関連する問題