Поделиться через


Пошаговое руководство. Загрузка ресурсов из вспомогательной сборки

В данном пошаговом руководстве описывается загрузка строки ресурса из вспомогательной сборки с помощью Конструктор WPF для Visual Studio. Это облегчает локализацию для приложений WPF.

В данном пошаговом руководстве выполняются следующие задачи.

  • Создание проекта.

  • Включение вспомогательной сборки.

  • Создание строки ресурса и доступ к ней.

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

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров.Дополнительные сведения см. в разделе Работа с параметрами.

Обязательные компоненты

Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.

  • Visual Studio 2010.

Создание проекта

Первым этапом является создание проекта для приложения.

Создание проекта

  1. Создайте новый проект приложения WPF на языке Visual Basic или Visual C# с именем ResourceTest. Дополнительные сведения см. в разделе Практическое руководство. Создание нового проекта приложения WPF.

    Файл MainWindow.xaml будет открыт в сред. Конструктор WPF.

  2. Перетащите элемент управления Button из панели элементов в рабочую область конструирования.

  3. Дважды щелкните кнопку, чтобы создать обработчик событий Click для элемента управления "Кнопка".

Включение вспомогательной сборки

Вспомогательная сборка включается путем внесения небольших изменений в файл AssemblyInfo и файл проекта.

Включение вспомогательной сборки

  1. Откройте файл AssemblyInfo.cs или AssemblyInfo.vb в редакторе кода. Чтобы увидеть файл в обозревателе решений, может потребоваться нажать кнопку Показать все файлы.

  2. Удалите комментарий из следующей строки.

    //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
    
    '<Assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)>
    
  3. Сохраните решение.

  4. В обозревателе решений щелкните правой кнопкой мыши проект ResourceTest и выберите команду Отменить загрузку проекта.

    Visual Studio выгружает проект ResourceTest.

  5. В обозревателе решений щелкните правой кнопкой мыши проект ResourceTest и выберите команду Изменить файл ResourceTest.csproj или Изменить файл ResourceTest.vbproj.

    В редакторе XML откроется файл проекта.

  6. Вставьте следующую строку XML на том же уровне, что и другие элементы <PropertyGroup>.

    <PropertyGroup>
        <UICulture>en-US</UICulture>
    </PropertyGroup>
    
  7. Сохраните и закройте файл.

  8. В обозревателе решений щелкните правой кнопкой мыши проект ResourceTest и выберите команду Перезагрузить проект.

  9. В обозревателе решений измените имя файла RESX по умолчанию с Resources.resx. на Resources.en-US.resx.

  10. В окне "Свойства" удалите значение Пользовательский инструмент файла ресурсов.

Создание строки ресурса во вспомогательной сборке

Теперь следует создать строку в файле ресурсов.

Создание строки ресурса во вспомогательной сборке

  1. В обозревателе решений дважды щелкните Resources.en-US.resx.

    В конструкторе ресурсов откроется файл Resources.en-US.resx.

  2. Измените имя строки по умолчанию со String1 на helloWorldString.

  3. Измените значение helloWorldString на Hello world.

  4. Сохраните файл и закройте редактор ресурсов.

Доступ к строке ресурса

Доступ к строке во вспомогательной сборке осуществляется с использованием класса ResourceManager.

Доступ к строке ресурса

  1. В редакторе кода откройте файл MainWindow.xaml.cs или MainWindow.xaml.vb.

  2. Вставьте следующий код в верхнюю часть файла MainWindow.xaml.cs или MainWindow.xaml.vb.

    using System.Reflection;
    using System.Resources;
    
    Imports System.Reflection
    Imports System.Resources
    
  3. Вставьте следующий код в обработчик событий button1_Click.

    ResourceManager rm = new ResourceManager(
        "ResourceTest.Properties.Resources", 
         Assembly.GetExecutingAssembly());
    MessageBox.Show(rm.GetString("helloWorldString"));
    
    Dim rm As New ResourceManager( _
        "ResourceTest.Resources", _
        Assembly.GetExecutingAssembly())
    MessageBox.Show(rm.GetString("helloWorldString"))
    
  4. Нажмите клавишу F5 для построения и запуска приложения.

  5. Чтобы увидеть значение строки, загруженной из вспомогательного ресурса, нажмите кнопку.

  6. Чтобы увидеть вспомогательную сборку с именем ResourceTest.resources.dll, откройте папку Debug/en-US.

См. также

Ссылки

ResourceManager

Другие ресурсы

Развертывание и локализация с помощью конструктора WPF

Шифрование и локализация