Получите значения из *.resx файлов в XAML

Действительно ли возможно добавить некоторое значение от файла ресурсов прямо в разметку XAML? Или для локализации мы всегда должны делать что-то вроде этого в *.cs файле:

txtMessage.Text = Messages.WarningUserMessage;

Где Messages ресурс, и txtMessage TextBlock.

66
задан 0x49D1 27 May 2010 в 07:57
поделиться

2 ответа

Убедитесь, что для параметра Генерация кода в редакторе resx установлено значение Public, тогда вы можете просто использовать:

<TextBlock Text="{x:Static Messages.WarningUserMessage}" />
77
ответ дан 24 November 2019 в 14:55
поделиться

Самый простой способ - это, вероятно, ссылаться на элементы напрямую (это статические свойства, по умолчанию внутренние):

<TextBlock x:Name="txtMessage" Text="{x:Static MyApp.Properties.Resource.TextString}"/>

Если вы работаете над локализованным приложением WPF, я бы рекомендовал взять взгляните на руководство по CodePlex на http://wpflocalization.codeplex.com/ , и если вы создаете составное приложение (с использованием PRISM или MEF), то у меня есть сообщение в блоге на хороший способ выполнить локализацию WPF с использованием стандартных привязок .

5
ответ дан 24 November 2019 в 14:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: