XAML 中的 xml:lang 處理
xml:lang 屬性是 XML 定義的屬性,會宣告 XML 中項目的語言和文化特性資訊。 在 XAML 中有保存與這個屬性相同的意義,但必須進行一些其他考量。
XAML 屬性使用方式
<object xml:lang="rfc3066lang" />
XAML 值
rfc3066lang |
衍生自 RFC 3066 標準的字串,這個字串會識別語言或語言地區。 如果是後者,語言和區域是由單一連字號分隔。 如需值和格式的詳細資訊,請參閱 XmlLanguage。 |
備註
在 XAML 中,xml:lang 屬性的定義都是衍生自 xml:lang,該項目已經由 World Wide Web Consortium (W3C) 定義為 XML 的「特殊屬性」。 項目在處理語言和文化特性時,其方式可能隨著不同的實作 (Implementation) 而改變,但是 xml:lang 屬性並沒有預設的 XAML 處理。
xml:lang 屬性的預設值在屬性層級為空字串。
xml:lang 屬性效果和屬性的值,通常由對 xml:lang 值作用的系統解譯時,就會以子項目的形式永存。
由 .NET Framework XAML 服務的 XAML 寫入器解譯時,xml:lang 值可能會以基礎物件表示法建立 XmlLanguage 或 CultureInfo 物件,但是該行為取決於對 xml:lang 指定的值是否為這些類別的有效建構。
藉由將 XmlLangPropertyAttribute 套用至屬性,架構即可在架構定義的屬性和 XML 中 xml:lang 的意義之間建立關聯性。
WPF 使用方式節點
若項目是 FrameworkElement 或 FrameworkContentElement 的衍生類別 (Derived Class),您可以使用對等的 Language 相依性屬性 (Property),而非 xml:lang 屬性 (Attribute)。 根據預設,如果沒有透過屬性 (Property) 或是透過處理 xml:lang 屬性 (Attribute) 另外設定,Language 屬性會使用 "en-US"。