Freigeben über


So geht's: Verwenden eines ResourceDictionary zur Verwaltung lokalisierbarer Zeichenfolgenressourcen

In diesem Beispiel wird gezeigt, wie Sie eine ResourceDictionary verwenden, um lokalisierbare Zeichenfolgenressourcen für WPF-Anwendungen (Windows Presentation Foundation) zu verpacken.

So verwenden Sie ein ResourceDictionary zum Verwalten lokalisierbarer Zeichenfolgenressourcen

  1. Erstellen Sie eine ResourceDictionary-Datei im Stammverzeichnis Ihres Projekts mit dem Namen StringResources.xaml, die die Zeichenfolgen enthält, die Sie lokalisieren möchten. Der folgende Code zeigt ein Beispiel.

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

    Dieser Code definiert die Zeichenfolgenressource localizedMessage vom Typ String aus dem System-Namespace in „mscorlib.dll“.

  2. Fügen Sie der Anwendung die ResourceDictionary hinzu, indem Sie den folgenden Code verwenden.

    <Application.Resources>
      <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
          <ResourceDictionary Source="StringResources.xaml" />
        </ResourceDictionary.MergedDictionaries>
      </ResourceDictionary>
    </Application.Resources>
    
  3. Sie verwenden die Zeichenfolgenressource aus dem Markup, indem Sie den XAML-Code (Extensible Application Markup Language) wie folgt verwenden.

    <!-- Declarative use of string resource from StringResources.xaml resource dictionary -->
    <TextBox DockPanel.Dock="Top" Text="{StaticResource localizedMessage}" />
    
  4. Verwenden Sie die Zeichenfolge von CodeBehind mithilfe von Code so wie folgt.

    // 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. Lokalisieren Sie die Anwendung. Weitere Informationen finden Sie unter Lokalisieren einer Anwendung.