FrameworkElement.VerticalAlignment Proprietà

Definizione

Ottiene o imposta le caratteristiche di allineamento verticale applicate a un FrameworkElement quando è composto in un oggetto padre, ad esempio un pannello o un controllo elementi.

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

void VerticalAlignment(VerticalAlignment value);
public VerticalAlignment VerticalAlignment { get; set; }
var verticalAlignment = frameworkElement.verticalAlignment;
frameworkElement.verticalAlignment = verticalAlignment;
Public Property VerticalAlignment As VerticalAlignment
<frameworkElement VerticalAlignment="verticalAlignmentMemberName"/>

Valore della proprietà

Impostazione di allineamento verticale, come valore dell'enumerazione. Il valore predefinito è Stretch.

Esempio

In questo esempio il valore Center viene assegnato a HorizontalAlignment e VerticalAlignment per posizionare gli elementi TextBlock al centro delle celle 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>

Commenti

Le proprietà di allineamento sono destinate a suggerire il layout desiderato a un contenitore di layout adattivo. In genere sono impostati in FrameworkElement figlio e interpretati da un altro padre del contenitore FrameworkElement (in genere una classe derivata da ContentControl o una classe derivata da Panel o forse un relatore). L'impostazione delle proprietà di allineamento su un elemento figlio non garantisce alcun risultato; il comportamento dipende dalla composizione del layout e dagli elementi padre coinvolti.

Quando le proprietà Height e Width vengono impostate in modo esplicito o calcolate su un oggetto, queste misurazioni sono più importanti per la logica di layout tipica e possono annullare gli effetti dell'impostazione di VerticalAlignment su Stretch. Le proprietà dei vincoli di layout (ad esempio MaxHeight) influiscono anche sulle dimensioni massime o minime del layout per una situazione di layout Stretch . Stretch è il valore predefinito in modo che sia più facile usare tecniche di layout adattive nei casi in cui non è presente alcuna misurazione esplicita. Tuttavia, se sono presenti altezzae ritaglio, il layout funge da se il valore è Top for VerticalAlignment, in genere Left for HorizontalAlignment (destra per le informazioni cultura da destra a sinistra o i valori di FlowDirection espliciti ). Per altre info, vedi Allineamento, margine e spaziatura interna.

Canvas non usa VerticalAlignment durante la composizione del layout, perché Canvas si basa sulla posizione assoluta. In generale, il valore di VerticalAlignment è potenzialmente trattato in modo diverso da qualsiasi oggetto in grado di avere uno o più oggetti FrameworkElement come contenuto figlio. Ogni oggetto padre può avere la propria logica di layout.

Ogni elemento dell'interfaccia utente XAML potrebbe applicare questa proprietà in modo diverso in base ai setters style per lo stile implicito. L'apparente "valore predefinito" per VerticalAlignment in ogni elemento dell'interfaccia utente può essere diverso. Ad esempio, un controllo Button inizia con il valore Center. Se l'elemento dell'interfaccia utente è un controllo, il valore VerticalAlignment potrebbe influire anche sul modello di oggetto visivo del controllo.

Nei controlli di contenuto, il modello di controllo usa spesso espressioni di estensione di markup {TemplateBinding} per associare la proprietà VerticalContentAlignment a una proprietà VerticalAlignment in un elemento all'interno del relativo modello, ad esempio il relatore o l'elemento usato come area contenuto.

Si applica a

Vedi anche