FrameworkElement.Language Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft Lokalisierungs-/Globalisierungssprachinformationen ab, die für ein FrameworkElement und auch für alle untergeordneten Elemente des aktuellen FrameworkElements in der Objektdarstellung und in der Benutzeroberfläche gelten, oder legt diese fest.
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" />
Eigenschaftswert
Eine Zeichenfolge, die Sprache und Kultur angibt, die den Standards der Internet Engineering Task Force (IETF) BCP 47 folgt. Beispielsweise ist US-Englisch "en-US".
Hinweise
Die Language-Eigenschaft dient zum Festlegen einer Pro-Element-Spracheinstellung für ausgewählte Elemente in einer größeren Benutzeroberfläche. Der Standard Grund dafür besteht darin, textbezogene Eigenschaften und Einstellungen zu beeinflussen, z. B. das Standard- oder Fallback FontFamily für die Textdarstellung.
Der Standardwert für diese Eigenschaft ist die oberste Sprache aus der App-Sprachliste, die von der rangierten Liste der bevorzugten Sprachen des Benutzers abgeleitet wird. Es wird empfohlen, die Standardeinstellung für diese Eigenschaft zu belassen, da sie die beste Endbenutzererfahrung in Bezug auf das Fallback von Schriftarten bietet. Wenn die App beispielsweise ostasiatische Inhalte anzeigt und der Benutzer eine ostasiatische Sprache in ihrem Benutzerprofil angegeben hat, wird der Inhalt in der gewünschten ostasiatischen Schriftart am zuverlässigsten angezeigt.
Die Language-Eigenschaft ist hauptsächlich für diese FrameworkElement-Unterklassen relevant:
Die TextElement-Klasse verfügt auch über eine Language-Eigenschaft und hat einen ähnlichen Zweck und ein ähnliches Verhalten für TextElement-Unterklassen wie Run.
Wenn es nicht speziell als Attribut festgelegt ist, wird der Standardwert für Language von anderen, größeren Faktoren bestimmt, die die Globalisierungs- und Lokalisierungseinstellungen für Ihre App beeinflussen. Dies schließt die Systemeinstellungen des Benutzers ein. Weitere Informationen finden Sie unter Globalisieren Ihrer App.
Das Festlegen von Sprache für UI-Elemente ist nur ein kleiner Teil der Aktionen, die Sie tun können, um eine App für die Lokalisierung und Globalisierung vorzubereiten. Beispielsweise müssen Sie in der Regel Ressourcen wie Zeichenfolgen und Bilder benennen oder laden und diese Ressourcen in Ihr App-Paket einschließen. Sie müssen auch x:Uid-Direktivenwerte auf alle Elemente anwenden, die Ressourcenqualifizierer verwenden sollten, um die sprachspezifische Ressource abzurufen. Weitere Informationen finden Sie unter Globalisieren Ihrer App.
Wenn Sie Sprache im Markup festlegen, sollten Sie erwägen, eine RESW-Ressourcendatei zum Angeben der BCP 47-Zeichenfolge zu verwenden, anstatt eine Zeichenfolge im Markup hart zu codieren. Geben Sie einen x:Uid-Direktivewert für das Element an, in dem Sie Sprache angeben möchten, damit das Ressourcensystem das Element als Ziel verwenden kann. Geben Sie dann eine Zeichenfolgenressource der BCP 47-Zeichenfolge an, die mit dem Namen des Ressourcenordners übereinstimmt, aus dem die Ressource stammt. Wahrscheinlich verfügen Sie bereits über eine RESW-Datei in Ihrem Projekt, die die herkömmlichen lokalisierten UI-Zeichenfolgen bereitstellt. Weitere Informationen finden Sie unter Schnellstart: Übersetzen von Ui-Ressourcen.
FrameworkElement.Language und xml:lang
XAML ist eine Sprache, die auf XML basiert und grundlegenden XML-Regeln folgt. Dies schließt unterstützende XML-Konstrukte wie das lang-Attribut aus dem XML-Sprach-XML-Namespace ein. Sie können xml:lang für ein Objektelement für eine FrameworkElement-Unterklasse angeben und es wird genauso behandelt, als wäre es ein Language-Wert, da die gleiche BCP 47-Behandlung des Zeichenfolgen-Attributwerts verwendet wird. Sie können xml:lang auch für ein Objektelement angeben, das keine FrameworkElement-Unterklasse ist, obwohl dies in der Regel zu keiner Verhaltensänderung für dieses Element führt.
Die Sprache verwendet absichtlich eine Eigenschaftenvererbungsstruktur, sodass ein Wert für Language, der für das Stammelement festgelegt ist, diesen Wert an alle untergeordneten Objekte in der visuellen Struktur weitergegeben, die ebenfalls ein FrameworkElement sind. Dies entspricht dem Xml:lang-Verhalten in XML und dem XML-DOM. Außerdem können Sie Language zur Laufzeit verwenden, um einen xml:lang-Wert zu lesen, der im Markup festgelegt wurde, solange das Element, aus dem Sie lesen, eine FrameworkElement-Unterklasse mit einer Language-Eigenschaft ist.
Sie können jedoch nicht sowohl die Attribute Language als auch xml:lang für dasselbe Objektelement angeben, wodurch ein XAML-Analysefehler ausgelöst wird.
Migrationshinweise
Diese API akzeptiert eine Zeichenfolge. In der entsprechenden Microsoft Silverlight- und Windows Presentation Foundation-API (WPF) ist der Typ dieser Eigenschaft ein Hilfsobjekt, das dieselbe Zeichenfolge umschließt. Sie können XAML aus anderen Projekten importieren, ohne diesen Unterschied zu beachten, da die Art und Weise, wie XAML die Zeichenfolge analysiert, identisch ist.