在WPF中动态改变语言的方法如下:
在项目中添加资源文件,并将各个语言的翻译文本放入对应的资源文件中。
使用
System.Globalization.CultureInfo
类来表示当前使用的语言,并使用System.Windows.Markup.XmlLanguage
类来设置 UI 元素的语言属性。在应用程序中设置一个切换语言的按钮,并使用上述方法来更改当前使用的语言。
示例代码如下:
// 设置当前使用的语言
CultureInfo culture= new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = culture;
// 设置 UI 元素的语言属性
XmlLanguage language = XmlLanguage.GetLanguage(culture.IetfLanguageTag);
button1.Language = language;
注意:在更改语言后,可能需要调用 System.Windows.Markup.XamlReader.Reload()
方法来重新加载 UI 元素的布局。