我正在使用MVVM和Prism编写桌面应用程序,我遇到了以下问题。除标签等外,还需要以不同语言存储数据。
例如,在美国,用户可能能够使用英语或西班牙语登录(因为他们是母语人士)。
目前我的唯一想法如下: - - 包含全局可访问的ApplicationViewModel CurrentLoggedInUser属性
我想知道的是在使用MVVM时如何保存当前登录用户所选择的语言,特别是在桌面应用程序中?
N.B所选语言可能与操作系统所在的语言和区域不同
在使用MVVM时,其他人如何解决此问题并在不同的窗口/用户控件上维护用户的“会话”?
答案 0 :(得分:1)
您需要做的就是将当前语言存储在某处,可能是LCID。
通常,这用于加载特定于语言的资源文件,该文件负责大多数与语言相关的情况。控件等只是将所有字符串存储在资源中,因此它们不需要直接访问当前语言。
对于您确实需要访问该语言的情况,例如知道保存数据库字符串的位置,然后是,语言应该暴露为某些静态/单例,或者更理想的是,应该注入ViewModels需要的任何内容它