Используйте Resx файлы могут динамически переключать языки, используя следующие категории:
общественный класс LanguageManager: INotifyPropertyChanged { частные чтения ResourceManager _resourceManager; частный статический чтения Ленивый <LanguageManager> _lazy = новый Ленивый <LanguageManager> (() => новый LanguageManager ()); публичный статический LanguageManager Instance => _lazy.Value; общественное событие PropertyChangedEventHandler PropertyChanged; частный LanguageManager () { _resourceManager = новый ResourceManager ( TypeOf (Lang)); } Публичная строка этого [ строка ] название { прибудет { если (имя == NULL ) { бросить новый ArgumentNullException (nameof (имя)); } Вернуть _resourceManager.GetString (имя); } } Общественного недействительными ChangeLanguage (CultureInfo CultureInfo) { CultureInfo.CurrentCulture = CultureInfo; CultureInfo.CurrentUICulture = CultureInfo; PropertyChanged ? .Invoke ( это , новые PropertyChangedEventArgs ( " Пункт [] " )); } }
Как использовать:
< TextBlock FontSize = "20" Маржа = "10" Текст = " {Binding [Строка1], Источник = {х: Статический локальный: LanguageManager.Instance}} " />
Переключение языков:
LanguageManager.Instance.ChangeLanguage (новый CultureInfo ( "ZH-CN"));
адрес источника