6

当我将手机的语言更改为任何语言(例如法语)时,地图中的标签将更改为法语。

是否可以在地图控制中强制使用语言?我尝试使用地图的“语言”属性并将其更改为“fr”和“fr-FR”。它没有用。

4

3 回答 3

3

其实很简单

如果您想更改全球语言:

private void Application_Launching(object sender, LaunchingEventArgs e)
        {                      
           Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
           Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");          
        }

private void Application_Activated(object sender, ActivatedEventArgs e)
        {                     
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");          
        }

如果你想获得单一资源:

CultureInfo c = new System.Globalization.CultureInfo("fr-FR");
var m = AppResources.ResourceManager.GetString(AppResources.MapControlTitle,c));

AppResourse您的资源 (resx) 文件在哪里,并且是AppResources.MapControlTitle想要获得的标签。

快乐编码(:

编辑

你能试试这个:

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR"); YourMapControl.Language = System.Windows.Markup.XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);

于 2013-05-09T07:45:56.137 回答
1

您可以尝试使用当前的线程文化。

尝试重新初始化文化

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-CH"); // For French Language ( or "fr-FR" )

在您的地图控件初始化之前。

理论上,线程将用法国文化重新初始化。^^

于 2013-05-10T08:57:06.570 回答
1

可能不是您希望的答案,但 Map Control 将始终遵循操作系统的区域设置。

于 2013-05-18T16:09:50.110 回答