FrameworkElement.Language Eigenschaft

Definition

Ruft Lokalisierungs-/Globalisierungsspracheninformationen 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

String

Platform::String

winrt::hstring

Eine Zeichenfolge, die Sprache und Kultur angibt, die den BCP 47-Standards (Internet Engineering Task Force, IETF) folgt. Beispielsweise ist US-Englisch "en-US".

Hinweise

Die Language-Eigenschaft ist zum Festlegen einer Pro-Element-Spracheinstellung für ausgewählte Elemente in einer größeren Benutzeroberfläche vorgesehen. Der Standard Grund dafür besteht darin, textbezogene Eigenschaften und Einstellungen zu beeinflussen, z. B. der Standard- oder Fallback fontFamily für die Textpräsentation.

Der Standardwert für diese Eigenschaft ist die oberste Sprache aus der App-Sprachliste, die von der Liste der bevorzugten Sprachen des Benutzers abgeleitet wird. Es wird empfohlen, die Standardeinstellung für diese Eigenschaft zu belassen, da sie die beste Benutzererfahrung in Bezug auf das Schriftartenfallback 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 sie 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 der Sprache für Benutzeroberflächenelemente ist nur ein kleiner Teil von dem, was 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. Außerdem müssen Sie x:Uid-Direktivewerte 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 eine RESW-Ressourcendatei verwenden, um die BCP 47-Zeichenfolge anzugeben, anstatt eine Zeichenfolge im Markup hart zu codieren. Geben Sie einen x:Uid-Direktivenwert 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 dem Namen des Ressourcenordners entspricht, 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 Benutzeroberflächenressourcen.

FrameworkElement.Language und xml:lang

XAML ist eine Sprache, die auf XML basiert und grundlegenden XML-Regeln folgt. Dies schließt die Unterstützung von XML-Konstrukten wie dem lang-Attribut aus dem XML-Sprach-Namespace ein. Sie können xml:lang für ein Objektelement für eine FrameworkElement-Unterklasse angeben, und es wird gleich behandelt, als wäre es ein Language-Wert, da es die gleiche BCP 47-Behandlung des Zeichenfolgenattributewerts verwendet. Sie können auch xml:lang für ein Objektelement angeben, bei dem es sich nicht um eine FrameworkElement-Unterklasse handelt, obwohl dies normalerweise zu keiner Verhaltensänderung für dieses Element führt.

Language verwendet bewusst 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 weitergibt, 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 das Language-Attribut als auch das xml:lang-Attribut für dasselbe Objektelement angeben. Dadurch wird ein XAML-Analysefehler ausgelöst.

Migrationshinweise

Diese API nimmt eine Zeichenfolge an. 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 XAML-Analyse der Zeichenfolge identisch ist.

Gilt für:

Weitere Informationen