FlowDirection, propriété

FrameworkElement.FlowDirection Property

Obtient ou définit le sens dans lequel le texte et d'autres éléments de l'interface utilisateur se déroulent à l'intérieur de tout élément parent qui contrôle leur disposition. Cette propriété peut être définie sur LeftToRight ou RightToLeft. La définition de FlowDirection sur RightToLeft sur un élément définit l'alignement vers la droite, l'ordre de lecture de droite à gauche et la disposition du contrôle de droite à gauche.

Syntaxe


public FlowDirection FlowDirection { get; set; }


<frameworkElement FlowDirection="flowDirectionMemberName"/>


XAML Values

flowDirectionMemberName

Nom de constante de l'énumération FlowDirection, soit LeftToRight ou RightToLeft.

Valeur de propriété

Type: FlowDirection

Sens dans lequel le texte et d'autres éléments de l'interface utilisateur se déroulent dans leur élément parent, comme valeur de l'énumération. La valeur par défaut est LeftToRight.

Remarques

FlowDirection est conçu pour la prise en charge de la disposition de droite à gauche pour les applications. Fondamentalement, la définition de FlowDirection à RightToLeft doit produire un comportement de droite à gauche approprié et le rendu de tout contrôle XAML appliqué. Les contrôles XAML spécifiques peuvent avoir plus de gestion dans leurs modèles ou leur logique qui répond à FlowDirection de RightToLeft qui n'est pas indiqué dans cette rubrique, mais qui peut être indiqué dans les rubriques de référence pour ces contrôles XAML.

Un objet hérite de la valeur FlowDirection de son parent dans l'arborescence d'objets. Tout élément peut substituer la valeur qu'il obtient à partir de son parent. Si rien n'est spécifié, la valeur FlowDirection par défaut est LeftToRight.

Si la valeur FlowDirection d'un objet est RightToLeft, certains valeurs et le comportement de FrameworkElement changent :

  • Dans l'élément, le frame de référence des coordonnées est renversé horizontalement de sorte que "(0, 0)" soit l'angle supérieur droit. Cela affecte les valeurs retournées par l'API de test de positionnement, par exemple FindElementsInHostCoordinates.
  • Si FrameworkElement est Path ou un autre Shape, son contenu visuel est retourné horizontalement.
  • Pour les conteneurs de disposition, le frame de référence des coordonnées change. "(0, 0)" dans Canvas correspond à l'angle supérieur droit. La colonne "0" d'une grille pour les besoins de Grid.Column est la colonne la plus à droite.
  • Dans la composition du modèle d'un contrôle, les mêmes modifications de disposition s'appliquent. Par exemple, si vous définissez FlowDirection comme RightToLeft pour RadioButton, le graphique du bouton interactif s'affiche à droite du contenu d'étiquette de texte, car Grid dans le modèle RadioButton traite maintenant "0" comme dernière colonne et l'étiquette de texte est alignée à droite.
  • Image a un comportement spécial, consultez la section « FlowDirection pour Image » ci-dessous.

Le texte des conteneurs de texte tels que TextBlock ou TextBox n'est pas retourné horizontalement si FlowDirection est RightToLeft, et tous les caractères ou glyphes forts ou individuels sont retournés. L'ordre des éléments Inline d'une InlineCollection ne change pas non plus. Cela permet de combiner du contenu dans une application affichée autrement de droite à gauche, par exemple en incluant délibérément des chaînes en anglais dans une interface utilisateur en arabe. Toute chaîne qui est censée être une source de texte pour un conteneur de texte où la langue attendue est une langue s'écrivant de droite à gauche, doit spécifier cette chaîne dans la représentation Unicode adéquate, sera correctement présentée dans un conteneur de texte. Toutefois, une valeur FlowDirection comme RightToLeft dans un conteneur de texte change la valeur par défaut TextAlignment, de sorte que le bord droit du texte est aligné à droite sur les limites du conteneur de texte.

FlowDirection n'a aucun effet visible sur le texte dans un élément Glyphs mais modifie le frame du test de positionnement et des coordonnées de l'élément de référence.

FlowDirection pour Image et MediaElement

Si vous affectez à FlowDirection la valeur RightToLeft pour une Image, le contenu visuel d'une Image est retournée horizontalement. Toutefois, un élément Image n'hérite pas de la valeur FlowDirection d'un élément parent. Le comportement de retournement d'image est en général souhaité dans des images qui sont adaptées à la disposition, mais pas nécessairement pour les éléments ayant du texte ou d'autres composants incorporés. Pour obtenir le comportement de retournement d'image, vous devez définir l'élément FlowDirection sur l'élément Image spécifiquement sur RightToLeft ou définir la propriété FlowDirection dans code-behind. Envisagez d'identifier l'élément Image par x:Uid et de spécifier des valeurs FlowDirection comme une ressource RESW, afin que les experts de localisation puissent modifier cette valeur ultérieurement sans modification XAML ou de code.

MediaElement n'hérite pas également de la valeur FlowDirection d'un élément parent. Si vous affectez explicitement à FlowDirection la valeur RightToLeft sur MediaElement, la zone de la vue du média est retournée horizontalement, à la façon d'un retournement d'une Image. Cette procédure délibérée doit être encore plus rare que Image, car il est probable qu'une source de média utilisée dans le contenu localisé comporte déjà la correction des problèmes « droite à gauche » dans le fichier multimédia source.

FlowDirection pour WebView et WebViewBrush

WebView et WebViewBrush n'encouragent aucune information de droite à gauche sur la façon dont le code HTML est chargé. Si des considérations de gauche à droite doivent être prises en compte dans le contenu HTML, pensez à définir X:Uid sur l'élément WebView et spécifier une valeur URI (Uniform Resource Identifier) WebView.Source comme ressource RESW au format de chaîne. WebView et WebViewBrush n'héritent également FlowDirection d'aucun élément parent. La définition de FlowDirection sur WebView et WebViewBrush ne provoque pas d'exceptions, mais la valeur que vous définissez est ignorée par le runtime.

Exemples

Cet exemple de code XAML montre comment un conteneur de disposition comme Grid interprète une valeur RightToLeft. Si vous regardez l'interface utilisateur que ce code XAML produit, le rectangle "Chartreuse" apparaît dans l'angle supérieur droit, non dans la partie supérieure gauche comme c'est le cas lorsque FlowDirection a la valeur LeftToRight par défaut.


            <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>

Configuration requise

Client minimal pris en charge

Windows 8

Serveur minimal pris en charge

Windows Server 2012

Espace de noms

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

Métadonnées

Windows.winmd

Voir aussi

FrameworkElement

 

 

Afficher:
© 2016 Microsoft