WPF设计时应用文化

时间:2012-04-26 07:22:45

标签: c# wpf visual-studio cultureinfo currentuiculture

我们正在开发一个本地化的英语/阿拉伯语应用程序,我需要在设计时将System.Threading.Thread.CurrentThread.CurrentUiCulture设置为两种文化中的任何一种,其值不同于运行时设置的值。

我该如何做到这一点?

提前致谢。

3 个答案:

答案 0 :(得分:1)

设置 xml:lang 属性。

此属性描述特定元素及其子元素的文化。此属性的值更改WPF中多个功能的行为。例如,它会更改连字符,拼写检查,数字替换,复杂脚本整形和字体回退的行为。有关在XAML中设置xml:lang处理的详细信息,请参阅WPF的全球化。

http://msdn.microsoft.com/en-us/library/ms788718.aspx

答案 1 :(得分:1)

选中http://geekswithblogs.net/lbugnion/archive/2009/09/05/detecting-design-time-mode-in-wpf-and-silverlight.aspx,然后您可以使用

等相应的方式设置语言
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name)));

答案 2 :(得分:1)

WPF Localization Extension允许您设置设计时语言(并且它具有其他功能,例如允许您在运行时通过WPF更改语言而不需要代码隐藏等)。

请在此处查看:http://wpflocalizeextension.codeplex.com/