我有一个 Silverlight 应用程序。我想存储用户最后使用的文化信息。默认情况下,文化信息来自操作系统。现在,如果用户在他/她的登录中更改了文化,当他/她下次登录时,他们应该获得相同的文化。所以操作系统文化和应用程序可能与下次登录不同。简而言之,我想在 Silverlight 中保存我在隔离存储中使用的最后一种文化。我用过: Thread.CurrentThread.CurrentUICulture.ToString() 但我没有得到预期的结果。
怎么做?
我有一个 Silverlight 应用程序。我想存储用户最后使用的文化信息。默认情况下,文化信息来自操作系统。现在,如果用户在他/她的登录中更改了文化,当他/她下次登录时,他们应该获得相同的文化。所以操作系统文化和应用程序可能与下次登录不同。简而言之,我想在 Silverlight 中保存我在隔离存储中使用的最后一种文化。我用过: Thread.CurrentThread.CurrentUICulture.ToString() 但我没有得到预期的结果。
怎么做?
我建议您保存CultureInfo.CurrentCulture.Name
(用于区域格式)和CultureInfo.CurrentUICulture.Name
(用于语言),因为您可能希望用户使用一种受支持的应用程序语言(例如 en-US)和本地格式(例如 jp-JP)。
如何从隔离存储中恢复用户设置?您是否Thread.CurrentThread.CurrentCulture
在 App.xaml 中初始化应用程序时分配?
此外,您可能需要Page.Language
从设置中分配(例如在创建页面时,按如下方式分配:
this.Lanaguage = XmlLanguage.GetLanguage(System.Threading.Thread.CurrentThread.CurrentUICulture.Name)