Partage via


FrameworkElement.HorizontalAlignment Propriété

Définition

Obtient ou définit les caractéristiques d’alignement horizontales appliquées à un FrameworkElement lorsqu’il est composé dans un parent de disposition, tel qu’un panneau ou un contrôle d’éléments.

public:
 property HorizontalAlignment HorizontalAlignment { HorizontalAlignment get(); void set(HorizontalAlignment value); };
HorizontalAlignment HorizontalAlignment();

void HorizontalAlignment(HorizontalAlignment value);
public HorizontalAlignment HorizontalAlignment { get; set; }
var horizontalAlignment = frameworkElement.horizontalAlignment;
frameworkElement.horizontalAlignment = horizontalAlignment;
Public Property HorizontalAlignment As HorizontalAlignment
<frameworkElement HorizontalAlignment="horizontalAlignmentMemberName"/>
 

Valeur de propriété

Un paramètre d’alignement horizontal, sous forme de valeur de l’énumération. La valeur par défaut est Stretch.

Exemples

Dans cet exemple, la valeur Center est affectée à HorizontalAlignment et VerticalAlignment, pour positionner les éléments TextBlock au centre des cellules Grid .

<Grid x:Name="LayoutRoot" Background="Coral" Width="300" Height="100">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <TextBlock Grid.Column="0" Grid.Row="0" Text="First Name" 
        HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBlock Grid.Column="0" Grid.Row="1" Text="Last Name" 
        HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBox Grid.Column="1" Grid.Row="0" />
    <TextBox Grid.Column="1" Grid.Row="1" />

</Grid>

Remarques

Les propriétés d’alignement sont destinées à indiquer la disposition souhaitée à un conteneur de disposition adaptative. Ils sont généralement définis sur les enfants FrameworkElement et interprétés par un autre parent de conteneur FrameworkElement (généralement une classe dérivée de ContentControl ou une classe dérivée de Panel , ou peut-être un présentateur). La définition de propriétés d’alignement sur un élément enfant ne garantit pas que quoi que ce soit se produise ; le comportement dépend de la composition de la disposition et des éléments parents impliqués.

Lorsque les propriétés Height et Width sont explicitement définies ou calculées sur un objet, ces mesures sont plus importantes pour la logique de disposition classique et peuvent annuler les effets de la définition de HorizontalAlignment sur Stretch. Les propriétés de contrainte de disposition (telles que MaxWidth) affectent également la taille de disposition maximale ou minimale pour une situation de disposition Stretch . Stretch est la valeur par défaut afin qu’il soit plus facile d’utiliser des techniques de disposition adaptative dans les cas où il n’y a pas de mesure explicite. Toutefois, s’il y a Height et Width ou clipping, la disposition agit comme si la valeur était Top pour VerticalAlignment, généralement Left pour HorizontalAlignment (Right pour les informations de culture de droite à gauche ou les valeurs FlowDirection explicites). Pour plus d’informations, voir Alignement, marge et espacement.

Canvas n’utilise pas HorizontalAlignment lors de la composition de la disposition, car Canvas est basé sur un positionnement absolu. En général, la valeur de HorizontalAlignment est potentiellement traitée différemment par tout objet capable d’avoir un ou plusieurs objets FrameworkElement comme contenu enfant. Chaque objet parent peut avoir sa propre logique de disposition.

Chaque élément d’interface utilisateur XAML peut appliquer cette propriété différemment en fonction des éléments de définition de style pour le style implicite. La « valeur par défaut » apparente pour HorizontalAlignment dans chaque élément d’interface utilisateur peut être différente. Par exemple, un contrôle Button commence par la valeur Left. Si l’élément d’interface utilisateur est un contrôle, la valeur HorizontalAlignment peut également affecter le modèle visuel du contrôle.

Dans les contrôles de contenu, le modèle de contrôle utilise souvent des expressions d’extension de balisage {TemplateBinding} pour lier la propriété HorizontalContentAlignment à une propriété HorizontalAlignment sur un élément de son modèle, tel que le présentateur ou l’élément utilisé comme zone de contenu.

S’applique à

Voir aussi