MVVMとPrismを使用してデスクトップアプリケーションを作成していますが、次の問題があります。ラベルなどと同様に、異なる言語でデータを保存する必要もあります。異なる言語とMVVMを使用するユーザーセッション
たとえば、米国のユーザーは、ネイティブスピーカーであるため、英語またはスペイン語のいずれかを使用してログインできる場合があります。彼らは、製品の詳細に入るときスペイン語を使用してユーザーがログインする場合
- 商品説明は スペイン語に対して、データベースに保存されます形成します。
- 英語でログインすると、商品の説明はデータベース に保存され、英語に関連します。現時点で
私の唯一のアイデア以下の通りである: -
- 私が知りたいのですがどのような CurrentLoggedInUserプロパティ
が含まれているグローバルにアクセスApplicationViewModelは、私が現在ログインして節約に取り掛かる方法です特にデスクトップアプリケーションで、MVVMを使用するときにユーザーが選択した言語?
N.B選択した言語は、オペレーティングシステムがどのように他の人がこれを解決し、MVVMを使用したときに別のウィンドウ/ユーザーコントロール間でユーザーの「セッション」を維持して行くん
であることを言語とロケールに異なることができますか?
ローカライズされたリソースを表示する言語としてLCIDが理想的ですが、この質問では、現在ログインしているユーザーのコンテキストをビューモデルに追加する方法についてもっと関心がありました。言語プロパティを使用する必要があるすべてのビューモデルにIUserContextのようなものを注入することでこれを行うことができると示唆していますか?ありがとうアレックス – lostinwpf
それは私の好む方法です。 ViewModelが情報を必要とする場合は、それをどこかから取得する必要があります。はい、あなたは注入が非実用的になると思うなら静的なサービスをすることができますが、注射はユニットテストのようなものを可能にするためにはるかに望ましいです。 – GazTheDestroyer
言い換えれば、ViewModelに言語が必要な場合は、IUserContextとの不必要な結合を防ぐために言語を挿入するだけです。ユーザーコンテキストに他のものが必要な場合は、明らかにコンテキスト全体を注入します。 – GazTheDestroyer