相关疑难解决方法(0)

如何正确设置Silverlight CurrentUICulture/CurrentCulture?

我正在使用C#开发SL5应用程序,我希望将其国际化.我发现以下内容来设置UI文化:

var culture = new CultureInfo(Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName);
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Run Code Online (Sandbox Code Playgroud)

像DatePicker这样的一些控件似乎可以解决这个问题.如果我使用'd'格式字符串格式化任何日期时间,我仍然会得到默认格式"M/dd/yyyy".

究竟SL如何解释文化以及如何为整个应用程序正确设置?

谢谢

更新:

找到答案:

首先,在Application_Startup中设置适当的文化:

var culture = new CultureInfo("nl-BE");
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Run Code Online (Sandbox Code Playgroud)

然而,关键因素是添加以下内容以强制RootVisual的文化/语言:

var root = RootVisual as Page;
if (root != null)
{
    root.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
}
Run Code Online (Sandbox Code Playgroud)

.net c# silverlight localization cultureinfo

7
推荐指数
1
解决办法
6860
查看次数

标签 统计

.net ×1

c# ×1

cultureinfo ×1

localization ×1

silverlight ×1