XAML における xml:lang の処理
xml:lang 属性は XML の定義済み属性の 1 つであり、XML の要素の言語およびカルチャ情報を宣言します。 属性の意味は XAML でも同じですが、いくつかの考慮事項があります。
XAML 属性の使用方法
<object xml:lang="rfc3066lang" />
XAML 値
rfc3066lang |
RFC 3066 標準で定義されている文字列。1 つの言語、または言語と地域を表します。 後者の場合は、言語と地域が 1 つのハイフンで連結されます。 値と形式の詳細については、「XmlLanguage」を参照してください。 |
解説
XAML における xml:lang 属性の定義は、World Wide Web Consortium (W3C) によって XML の "特別な属性" として定義された xml:lang から派生したものです。 言語およびカルチャ情報が要素によって処理される方法は、実装に応じて異なる可能性がありますが、XAML における xml:lang 属性の既定の処理というものは存在しません。
xml:lang 属性の既定値は、属性レベルでは空の文字列です。
xml:lang 属性の効果と属性の値が、xml:lang 値を処理するシステムによって解釈される場合、これらの効果と値は、通常、子要素に反映されます。
.NET Framework XAML サービスの XAML ライターによって解釈される場合、xml:lang 値によって、基になるオブジェクト表現に XmlLanguage オブジェクトや CultureInfo オブジェクトが作成される可能性があります。ただし、この動作は、xml:lang に指定されている値が、それらのクラスを構築するための入力として有効であるかどうかに依存します。
フレームワークでは、XmlLangPropertyAttribute をプロパティに適用することで、フレームワークで定義されたプロパティと XML の xml:lang の意味の間に関連付けを作成できます。
WPF の使用上の注意
FrameworkElement または FrameworkContentElement の派生クラスである要素については、xml:lang 属性の代わりに、同等の Language 依存関係プロパティを使用できます。 別途設定されない限り、Language プロパティの値は既定で "en-US" となります。このプロパティの値は、このプロパティを通して、または xml:lang 属性を処理することによって設定されます。