方法 : ResourceDictionary を使用してローカライズ可能な文字列リソースを管理する
更新 : 2007 年 11 月
この例では、ResourceDictionary を使用して、Windows Presentation Foundation (WPF) 用にローカライズ可能な文字列リソースをパッケージ化する方法を示します。
ResourceDictionary を使用してローカライズ可能な文字列リソースを管理するには
ローカライズする文字列を含む 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>
このコードでは、mscorlib.dll の System 名前空間で String 型の文字列リソース localizedMessage を定義しています。
次のコードを使用して、ResourceDictionary をアプリケーションに追加します。
<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="StringResources.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
Extensible Application Markup Language (XAML) を次のように使用して、文字列リソースをマークアップから使用します。
<!-- Declarative use of string resource from StringResources.xaml resource dictionary --> <TextBox DockPanel.Dock="Top" Text="{StaticResource localizedMessage}" />
次のようなコード使用して、文字列リソースを分離コードから使用します。
// Programmatic use of string resource from StringResources.xaml resource dictionary string localizedMessage = (string)Application.Current.FindResource("localizedMessage"); MessageBox.Show(localizedMessage);
アプリケーションをローカライズします。詳細については、「方法 : アプリケーションをローカライズする」を参照してください。
このサンプルのソース コード全体については、「XAML におけるローカライズ可能な文字列リソースの実装のサンプル」を参照してください。