{Resx ...}
- расширение разметки.Похоже, вы используете ResxExtension от Гранта Фрискена:
<TextBlock Text="{Resx ResxName=MyApp.TestWindow, Key=MyText}"/>
У вас нет ничего, что можно изменить в разметке XAML.Если вы хотите, вы можете указать атрибут Language
и связать, скажем, какое-то свойство UICulture
(объект CultureInfo
) в вашей ViewModel:
<Window ResxExtension.DefaultResxName="WpfApp.MainWindow" Language="{UICulture}">
Но в противном случае способ .resx работает,он извлекает данные из любого файла ресурсов, который лучше всего соответствует Culture
объекта ресурса, т. е. в вашем случае:
LegalServicesTimesheets.Culture = CultureInfo.GetCultureInfo("fr-CA")
Если вы установите для культуры ту культуру, у которой нет файла .resx, онадолжен вернуться к «нейтральному» содержимому .resx.Поскольку у вас do есть файл .fr-CA.resx
, все ресурсы, извлеченные из LegalServicesTimeSheets
, теперь будут извлечены из файла .fr-CA.resx
.
В коде позади вы можете получить строки ресурсовad-hoc через ResourceManager
, указав аргумент CultureInfo
для метода GeteString
:
foo = LegalServicesTimesheets.ResourceManager.GetString("Labels", CultureInfo.CurrentUICulture)