FrameworkElement.HorizontalAlignment Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta le caratteristiche di allineamento orizzontale applicate a un FrameworkElement quando è composto in un elemento padre di layout, ad esempio un pannello o un controllo elementi.
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"/>
Valore della proprietà
Impostazione di allineamento orizzontale 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 Griglia .
<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 HorizontalAlignment
su Stretch. Le proprietà dei vincoli di layout (ad esempio MaxWidth) influiscono anche sulle dimensioni massime o minime del layout per una Stretch
situazione di layout.
Stretch
è il valore predefinito in modo che sia più semplice usare tecniche di layout adattivo nei casi in cui non è presente alcuna misura esplicita. Tuttavia, se sono presenti altezzae ritaglio, il layout funge da se il valore è Top
verticalAlignment, in genere Left
per (Right
per HorizontalAlignment
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 HorizontalAlignment
durante la composizione del layout, perché Canvas si basa sulla posizione assoluta. In generale, il valore di HorizontalAlignment
è 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 HorizontalAlignment
in ogni elemento dell'interfaccia utente può essere diverso. Ad esempio, un controllo Button inizia con il valore Left
. Se l'elemento dell'interfaccia utente è un controllo, il HorizontalAlignment
valore potrebbe influire anche sul modello di oggetto visivo del controllo.
Nei controlli contenuto, il modello di controllo usa spesso espressioni di estensione di markup {TemplateBinding} per associare la proprietà HorizontalContentAlignment a una proprietà in un HorizontalAlignment
elemento all'interno del modello, ad esempio il relatore o l'elemento usato come area contenuto.