共用方式為


FrameworkElement.Language 屬性

定義

取得或設定適用于 FrameworkElement的當地語系化/全球化語言資訊,以及套用至物件標記法和 UI 中目前 FrameworkElement 的所有子項目。

public:
 property Platform::String ^ Language { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring Language();

void Language(winrt::hstring value);
public string Language { get; set; }
var string = frameworkElement.language;
frameworkElement.language = string;
Public Property Language As String
<frameworkElement Language="languageString" />

屬性值

String

Platform::String

winrt::hstring

字串,指定遵循網際網路工程工作組 (IETF) BCP 47 標準的語言和文化特性。 例如,美式英文為 「en-US」。

備註

Language 屬性適用于在較大的 UI 中,針對所選元素設定個別元素的語言設定。 這樣做的主要原因是影響文字相關屬性和設定,例如文字呈現的預設或後援 FontFamily

此屬性的預設值是應用程式語言清單中的最上層語言,其衍生自使用者慣用語言的排名清單。 建議您保留此屬性的預設值,因為它會針對字型後援提供最佳使用者體驗。 例如,如果應用程式正在顯示東亞內容,而且使用者已在使用者設定檔中指定東亞語言,則內容最可靠會顯示在所需的東亞字型中。

Language 屬性主要與這些 FrameworkElement 子類別相關:

TextElement類別也有Language屬性,而且其具有類似 TextElement子類別的用途和行為,例如Run

如果未特別將它設定為屬性,則 Language 的預設值取決於其他影響應用程式全球化和當地語系化設定的較大因素。 這包括使用者的系統設定。 如需詳細資訊,請參閱 將您的應用程式全球化

在 UI 元素上設定 Language 只是您準備應用程式以進行當地語系化和全球化的一小部分。 例如,您通常需要為字串和影像等資源命名或載入資源,並在您的應用程式套件中包含這些資源。 您也需要將 x:Uid 指示詞 值套用至任何應該使用資源限定詞來取得語言特定資源的元素。 如需詳細資訊,請參閱 將您的應用程式全球化

當您在標記中設定 Language 時,應該考慮使用 RESW 資源檔來指定 BCP 47 字串,而不是在標記中硬式編碼字串。 在您想要指定 Language 的該專案上指定 x:Uid 指示詞 值,讓資源系統可以鎖定元素。 然後提供 BCP 47 字串的字串資源,其符合資源的來源資源資料夾名稱。 您的專案中可能已經有 RESW 檔案,其提供傳統的當地語系化 UI 字串。 如需詳細資訊,請參閱 快速入門:翻譯 UI 資源

FrameworkElement.Language 和 xml:lang

XAML 是以 XML 為基礎且遵循基本 XML 規則的語言。 這包括支援 XML 建構,例如來自 XML 語言 XML 命名空間的 lang 屬性。 您可以在 FrameworkElement 子類別的物件專案上指定 xml:lang,而且它被視為與 Language 值相同,因為它使用相同的 BCP 47 處理字串屬性值。 您也可以在不是 FrameworkElement 子類別的物件專案上指定 xml:lang,不過這通常不會產生該元素的任何行為變更。

Language 會刻意使用屬性繼承結構,讓根項目上設定的 Language 值會將該值傳播到視覺化樹狀結構中也是 FrameworkElement的所有子物件。 這會平行處理 XML 和 XML DOM 中的 xml:lang 行為。 此外,您可以在執行時間使用 Language 來讀取標記中設定的 xml:lang 值,只要您讀取的元素是具有 Language 屬性的 FrameworkElement 子類別即可。

不過,您無法在相同的物件專案上同時指定 Language 和 xml:lang 屬性,而該屬性會擲回 XAML 剖析錯誤。

移轉注意事項

此 API 會採用字串。 在對等的 Microsoft Silverlight 和 Windows Presentation Foundation (WPF) API 中,此屬性的類型是包裝相同字串的協助程式物件。 您可以從其他專案匯入 XAML,而不會注意到這項差異,因為 XAML 剖析字串的方式相同。

適用於

另請參閱