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


Практическое руководство. Использование ResourceDictionary для управления локализуемыми строковыми ресурсами

Обновлен: Ноябрь 2007

В этом примере показано применение ResourceDictionary для создания пакетов локализуемых строковых ресурсов для приложений WPF (Windows Presentation Foundation).

Чтобы использовать ResourceDictionary для управления локализуемыми строковыми ресурсами

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

    <ResourceDictionary 
      xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:system="clr-namespace:System;assembly=mscorlib">
    
      <!-- String resource that can be localized -->
      <system:String x:Key="localizedMessage">en-US Message</system:String>
    
    </ResourceDictionary>
    

    В этом коде определяется строковый ресурс (localizedMessage) типа String из пространства имен System в mscorlib.dll.

  2. Добавьте ResourceDictionary в приложение с помощью следующего кода.

    <Application.Resources>
      <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
          <ResourceDictionary Source="StringResources.xaml" />
        </ResourceDictionary.MergedDictionaries>
      </ResourceDictionary>
    </Application.Resources>
    
  3. Используйте строковый ресурс из разметки, используя Язык XAML (Extensible Application Markup Language) следующим образом.

    <!-- Declarative use of string resource from StringResources.xaml resource dictionary -->
    <TextBox DockPanel.Dock="Top" Text="{StaticResource localizedMessage}" />
    
  4. Используйте строковый ресурс из файла кода программной части, используя код следующим образом.

    // Programmatic use of string resource from StringResources.xaml resource dictionary
    string localizedMessage = (string)Application.Current.FindResource("localizedMessage");
    MessageBox.Show(localizedMessage);
    
  5. Локализуйте приложение. Дополнительные сведения см. в разделе Практическое руководство. Локализация приложения.

Полный исходный код для этого примера см. в разделе Пример реализации локализуемых строковых ресурсов в XAML.