解决方案为WPF
您需要创建XML文件时,首先会包含静态控件的本地化(意味着在获得有本地化字符串控制OnApplyTemplate点),第二个将包含像MessageBox这样的动态表单的本地化字符串,或者您将动态地改变控件的内容。然后,对于动态字符串,您需要描述枚举,这些值应该是DynamicStrings.xml的关键字(例如)。
这是基地。然后在更改语言时,需要为两个本地化字符串类型填充两个字典,其中包含键和值。你也需要经理,他会关心如何获得它需要出现的每个地方的混凝土弦。
对于控制:绑定到任何字符串属性,例如,将其命名为EmptyText,然后写转换器,其将获得与静态辞典的转换参数键和返回键的值:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (parameter != null && parameter is string)
return MessageManager.Instance.GetUITextById((string)parameter);
return value;
}
对于动态控制:只需通过为他们的初始化参数的管理方法:
MessageBox.Show(MessageManager.Instance.GetDynamicMessage(Messages.HelloWorldMessage));
给messageManager在哪里(使用单件模式) - 是你的类,处理所有的本地化操作与XML,并字典,GetDynamicMessage将通过来自DynamicDictionary的枚举值获得字符串,Messages - 您的枚举。
你使用什么平台,WPF或WinForms? – 2010-07-14 10:23:03
我正在使用WinForms – beastofman 2010-07-14 10:28:29
在静态类中更改语言也会启动表单的刷新。 – 2010-07-14 10:31:05