Zmiana języka w aplikacji WPF

Zmiana języka w aplikacji WPF
WP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0

Mam pewien problem ze zmianą języka w aplikacji WPF napisanej pod .NET 4.8.
Mam wszystkie komunikaty w pliku UIStrings.resx. Dodałem nowy plik UIStrings.en.resx i na starcie aplikacji (w samym kodzie) zmieniam UICulture:

Kopiuj
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");

Efekt mam taki, że wszystkie teksty ładowane z kodu są przetłumaczone. Natomiast teksty wywoływane w xaml niestety nie są.
Teksty w xaml wywołuję następująco:

Kopiuj
 xmlns:lex="http://schemas.root-project.org/xaml/presentation"

<TextBlock Text="{lex:LocText MMS.Localization:UIStrings:txtKlienciDataOd}"/>

Podejrzewam, że przyczyną tego jest to, że zmieniam wersję języka w kodzie programu. Co prawda na jego starcie ale?
Czy ktoś może podpowiedzieć co zrobić aby teksty w xaml'u również się przetłumaczyły?

Z góry wielkie dzięki.

WP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0

Znalazłem rozwiązanie.
Należało zmienić wywołanie tekstów w xaml'ach:

Kopiuj
xmlns:lex="clr-namespace:SMS.Localization;assembly=SMS.Localization"

<TextBlock Text="{x:Static lex:UIStrings.txtKlienciDataOd}"/>

I to załatwiło sprawę.
Temat zamykam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.