WPF другой метод локализации

Используйте 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"));
Просмотр кода

адрес источника

 

рекомендация

отwww.cnblogs.com/yxhq/p/12405303.html