Windows Dev Center

FrameworkElement.FlowDirection Property

Ruft die Richtung ab, in die Text und andere Benutzeroberflächenelemente in übergeordneten Elementen, die das Layout steuern, fließen, oder legt diese Richtung fest. Diese Eigenschaft kann entweder auf LeftToRight oder auf RightToLeft festgelegt werden. Das Festlegen von FlowDirection auf RightToLeft bei einem Element legt die Ausrichtung rechts, die Lesefolge von Rechts-nach-Links und den Layoutfluss des Steuerelements, von rechts nach links fest.

Syntax


public FlowDirection FlowDirection { get; set; }


<frameworkElement FlowDirection="flowDirectionMemberName"/>


XAML Values

flowDirectionMemberName

Ein Konstantenname aus der FlowDirection-Enumeration, entweder LeftToRight oder RightToLeft.

Eigenschaftswert

Typ: FlowDirection

Die Richtung, in die Text und andere Benutzeroberflächenelemente in ihrem übergeordneten Element fließen, als Wert der Enumeration. Der Standardwert ist LeftToRight.

Hinweise

FlowDirection soll ein Rechts-nach-Links-Layout für Apps unterstützen. Im Allgemeinen sollte das Festlegen von FlowDirection auf RightToLeft ein entsprechendes Rechts-nach-Links-Verhalten und das Rendern eines beliebigen XAML-Steuerelements erzeugen, auf das es angewendet wird. Bestimmte XAML-Kontrollen verfügen möglicherweise über weitere Behandlung innerhalb ihrer Vorlagen oder ihrer Logik, die auf FlowDirection von RightToLeft reagiert, was in diesem Thema nicht erwähnt wird, und was in den Referenzthemen zu diesen XAML-Kontrollen möglicherweise erwähnt wird.

Ein Objekt erbt den Wert FlowDirection von seinem übergeordneten Element in der Objektstruktur. Jedes Element kann den Wert, den es von seinem übergeordneten Element abruft, überschreiben. Ohne eine andere Festlegung ist LeftToRight der Standardwert für FlowDirection.

Wenn der FlowDirection-Wert bei einem Objekt RightToLeft ist, ändern sich bei FrameworkElement bestimmte Werte und Verhalten:

  • Innerhalb des Elements wird der Koordinatenreferenzrahmen horizontal gekippt, sodass "(0, 0)" die obere rechte Ecke bildet. Dies wirkt sich auf die Werte aus, die von einer Treffertest-API wie FindElementsInHostCoordinates zurückgegeben werden.
  • Wenn das FrameworkElement ein Path oder ein anderes Shape-Element ist, wird dessen visueller Inhalt horizontal gekippt.
  • Für Layoutcontainer ändert sich das Koordinatenbezugssystem. "(0, 0)" bezieht sich auf einem Canvas-Element auf die rechte obere Ecke. Die "0"-Spalte in einem Raster für Grid.Column ist die am weitesten rechts stehende Spalte.
  • Innerhalb der Vorlagenzusammensetzung eines Steuerelements gelten die gleichen Layoutänderungen. Wenn Sie die FlowDirection als RightToLeft für RadioButton festlegen, wird die klickbare Schaltflächengrafik rechts neben der Beschriftung angezeigt, da Grid innerhalb der Vorlage RadioButton jetzt "0" als die am weitesten rechts stehende Spalte behandelt und die Beschriftung rechtsbündig ausgerichtet ist.
  • Für Image gilt ein spezielles Verhalten (siehe "FlowDirection für Image" im unteren Abschnitt).

Text in Textcontainern wie TextBlock oder TextBox kippt nicht horizontal, wenn FlowDirection den Wert RightToLeft hat. Es werden weder die gesamte Zeichenfolge noch einzelne Zeichen oder Symbole gekippt. Die Reihenfolge der Inline-Elemente in einem InlineCollection-Element ändert sich auch nicht. Dadurch wird das Mischen von Inhalt in einer ansonsten von rechts nach links definierten App unterstützt, z. B. beim absichtlichen Einbinden von deutschsprachigen Zeichenfolgen in eine arabische Benutzeroberfläche. Jede Zeichenfolge, die als Textquelle für einen Textcontainer vorgesehen ist, in dem die gewünschte Sprache eine Sprache mit Leserichtung von rechts nach links ist, muss in der entsprechenden Unicode-Darstellung angeben werden, die ordnungsgemäß in einem Textcontainer dargestellt wird. Ein Wert von FlowDirection als RightToLeft in einem Textcontainer ändert jedoch den standardmäßigen TextAlignment-Wert, sodass der rechte Rand des Texts rechtsbündig an den Textcontainergrenzen ausgerichtet ist.

Die FlowDirection-Eigenschaft hat keine sichtbaren Auswirkungen auf den Text in einem Glyphs-Element, ändert jedoch den Treffertest und den Koordinatenreferenzrahmen des Elements.

FlowDirection für Bild und MediaElement

Wenn Sie für Image den Wert FlowDirection auf RightToLeft setzen, wird der visuelle Inhalt von Image horizontal gekippt. Ein Image-Element erbt jedoch nicht den FlowDirection-Wert von einem übergeordneten Element. In der Regel sollten Sie Kippverhalten nur in Bildern verwenden, die für das Layout relevant sind, jedoch nicht unbedingt für Elemente, in denen Text oder andere Komponenten eingebettet sind, bei denen das Kippen für eine Zielgruppe mit einer von rechts nach links gelesenen Sprache mit nicht sinnvoll wäre. Um das Verhalten des Kippvorgangs eines Bildes abzurufen, müssen Sie das FlowDirection-Element für das Image-Element speziell auf RightToLeft festlegen oder die FlowDirection-Eigenschaft in Code-Behind festlegen. Erwägen Sie, das Image-Element durch x:Uid zu identifizieren und FlowDirection-Werte als RESW-Ressource anzugeben, sodass die Lokalisierungsexperten diesen Wert später ändern können, ohne die XAML oder den Code zu ändern.

MediaElement erbt ebenfalls keinen FlowDirection-Wert von einem übergeordneten Element. Wenn Sie für MediaElement den Wert FlowDirection explizit auf RightToLeft setzen, wird der Medienansichtsbereich horizontal gekippt, ähnlich wie bei einer Image-Drehung. Dies sollte noch seltener sein als Image, da es wahrscheinlich ist, dass Rechts-nach-Links-Probleme von Medienquellen, die in lokalisiertem Inhalt verwendet werden, bereits in der Quellmediendatei behoben wurden.

FlowDirection für WebView und WebViewBrush

WebView und WebViewBrush stufen keine Informationen von rechts nach links darüber höher, wie das HTML geladen wird. Wenn der HTML-Inhalt irgendwelche Berücksichtigungen für von links nach rechts enthält, sollten Sie möglicherweise auf dem WebView-Element den Wert x:Uid festlegen und jeden WebView.Source-URI-Wert (Uniform Resource Identifier) als eine RESW-Ressource im Zeichenfolgenformat angeben. WebView und WebViewBrush erben ebenfalls keine FlowDirection von übergeordneten Elementen. Das Festlegen von FlowDirection auf WebView und WebViewBrush verursacht keine Ausnahmen, allerdings wird jeder Wert, den sie festlegen während der Laufzeit ignoriert.

Beispiele

Dieses XAML-Beispiel zeigt, wie ein Layoutcontainer wie Grid einen Wert von RightToLeft interpretiert. In der von diesem XAML erzeugten Benutzeroberfläche wird das "Chartreuse"-Rechteck (hellgrün) oben rechts angezeigt und nicht oben links, was der Fall ist, wenn FlowDirection den Standardwert LeftToRight aufweist.


            <Grid FlowDirection="RightToLeft">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Rectangle Fill="Chartreuse" Width="30" Height="30"/>
                <Rectangle Grid.Row="1" Fill="Purple" Width="30" Height="30"/>
                <Rectangle Grid.Column="1" Fill="Pink" Width="30" Height="30"/>
                <Rectangle Grid.Row="1" Grid.Column="1" Fill="Orange" Width="30" Height="30"/>
            </Grid>

Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadaten

Windows.winmd

Siehe auch

FrameworkElement
Anpassen von Layout und Schriftarten für verschiedene Sprachen und Unterstützen von RTL-Layouts
Image

 

 

Anzeigen:
© 2015 Microsoft