다음을 통해 공유


방법: ResourceDictionary를 사용하여 지역화 가능한 문자열 리소스 관리

이 예제에서는 ResourceDictionary를 사용하여 WPF(Windows Presentation Foundation) 애플리케이션에 지역화할 수 있는 문자열 리소스를 패키지화하는 방법을 보여 줍니다.

ResourceDictionary를 사용하여 지역화 가능한 문자열 리소스를 관리하려면

  1. 지역화하려는 문자열이 포함된 ResourceDictionary 파일을 StringResources.xaml이라는 프로젝트의 루트에서 만듭니다. 다음은 예를 보여 주는 코드입니다.

    <ResourceDictionary 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://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>
    

    이 코드는 mscorlib.dll의 System 네임스페이스에서 String 형식의 문자열 리소스, localizedMessage를 정의합니다.

  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);
    
    ' Programmatic use of string resource from StringResources.xaml resource dictionary
    Dim localizedMessage As String = CStr(Application.Current.FindResource("localizedMessage"))
    MessageBox.Show(localizedMessage)
    
  5. 애플리케이션을 지역화합니다. 자세한 내용은 애플리케이션 지역화를 참조하세요.