Compartir a través de


Cómo: Usar ResourceDictionary para administrar recursos de cadenas localizables

Actualización: noviembre 2007

En este ejemplo se muestra cómo utilizar un objeto ResourceDictionary para empaquetar los recursos de cadenas localizables para las aplicaciones de Windows Presentation Foundation (WPF).

Para utilizar un objeto ResourceDictionary a fin de administrar los recursos de cadenas localizables

  1. Cree un objeto ResourceDictionary que contenga las cadenas que desee localizar. El siguiente fragmento de código muestra un ejemplo.

    <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>
    

    Este código define un recurso de cadena, localizedMessage, de tipo String, del espacio de nombres System de mscorlib.dll.

  2. Agregue el objeto ResourceDictionary a la aplicación, mediante el código siguiente.

    <Application.Resources>
      <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
          <ResourceDictionary Source="StringResources.xaml" />
        </ResourceDictionary.MergedDictionaries>
      </ResourceDictionary>
    </Application.Resources>
    
  3. Utilice el recurso de cadena desde el marcado, mediante un marcado Lenguaje de marcado de aplicaciones extensible (XAML) como el siguiente.

    <!-- Declarative use of string resource from StringResources.xaml resource dictionary -->
    <TextBox DockPanel.Dock="Top" Text="{StaticResource localizedMessage}" />
    
  4. Utilice el recurso de cadena desde el código subyacente, mediante un código como el siguiente.

    // Programmatic use of string resource from StringResources.xaml resource dictionary
    string localizedMessage = (string)Application.Current.FindResource("localizedMessage");
    MessageBox.Show(localizedMessage);
    
  5. Localice la aplicación. Para obtener más información, vea Cómo: Localizar una aplicación.

Para obtener el código fuente completo de este ejemplo, vea Ejemplo Implementing Localizable String Resources in XAML.