MVVM изменить культуру Использование Binding - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть выпадающий список со значениями английский и арабский.Поскольку я выбираю любой из них, это должно также изменить культуру.Как мы знаем, для английского языка по умолчанию мы будем использовать это.

1.Content ="{x:Static lang:Strings.contactNoNotValid}"

А для арабского мы добавим его арабский код с вышеуказанным кодом.То есть

2.Content ="{x:Static lang:Strings.ar.contactNoNotValid}"

Вот что я хочу, когда я переключаю английский на арабский, я хочу изменить код с 1 на код 2. Может ли кто-нибудь мне помочь?

Заранее спасибо

1 Ответ

0 голосов
/ 22 февраля 2019

Я думаю, что эта ссылка будет полезна.
Когда вы изменяете культуру, вы можете переключиться на текст, соответствующий культуре, используя файл ресурсов.

описание: https://codinginfinity.me/post/2015-05-10/localization_of_a_wpf_app_the_simple_approach
источник: https://gist.github.com/jakubfijalkowski/0771bfbd26ce68456d3e

XAML

<TextBlock Text="{ex:Loc Foo}"/>

ViewModel

string culture = ""; // or "ar"
TranslationSource.Instance.CurrentCulture = new System.Globalization.CultureInfo(culture);

Ресурсы

  • Resources.resx
    • "Foo": "Hello"
  • Resources.ar.resx
    • "Foo": "مرحبا هناك"
...