FrameworkElement.HorizontalAlignment Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define as características de alinhamento horizontal que são aplicadas a um FrameworkElement quando ele é composto em um pai de layout, como um painel ou controle de itens.
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"/>
Valor da propriedade
Uma configuração de alinhamento horizontal, como um valor da enumeração. O padrão é Stretch.
Exemplos
Neste exemplo, o valor Center
é atribuído a HorizontalAlignment
e VerticalAlignment, para posicionar os elementos TextBlock no centro das células 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>
Comentários
As propriedades de alinhamento destinam-se a sugerir o layout desejado para um contêiner de layout adaptável. Normalmente, eles são definidos em filhos FrameworkElement e interpretados por outro pai de contêiner FrameworkElement (normalmente uma classe derivada contentControl ou uma classe derivada de Panel , ou talvez um apresentador). Definir propriedades de alinhamento em um elemento filho não é garantia de que algo aconteça; o comportamento depende da composição do layout e dos elementos pai envolvidos.
Quando as propriedades Height e Width são definidas explicitamente ou calculadas em um objeto , essas medidas são mais importantes para a lógica de layout típica e podem cancelar os efeitos da configuração HorizontalAlignment
como Stretch. As propriedades de restrição de layout (como MaxWidth) também afetam o tamanho máximo ou mínimo do layout para uma Stretch
situação de layout.
Stretch
é o padrão para que seja mais fácil usar técnicas de layout adaptável nos casos em que não há medida explícita. Mas se houver Altura e Largura ou recorte, o layout atuará como se o valor fosse Top
para VerticalAlignment, normalmente Left
para (Right
para HorizontalAlignment
informações de cultura da direita para a esquerda ou valores de FlowDirection explícitos). Para obter mais informações, consulte Alinhamento, margem e preenchimento.
O Canvas não usa HorizontalAlignment
ao redigir o layout, pois o Canvas é baseado no posicionamento absoluto. Em geral, o valor de é potencialmente tratado de HorizontalAlignment
forma diferente por qualquer objeto capaz de ter um ou mais objetos FrameworkElement como conteúdo filho. Cada objeto pai pode ter sua própria lógica de layout.
Cada elemento de interface do usuário XAML pode aplicar essa propriedade de forma diferente com base nos setters style para o estilo implícito. O aparente "valor padrão" para HorizontalAlignment
em cada elemento de interface do usuário pode ser diferente. Por exemplo, um controle Button começa com o valor Left
. Se o elemento de interface do usuário for um controle, o HorizontalAlignment
valor também poderá afetar o modelo visual do controle.
Em controles de conteúdo, o modelo de controle geralmente usa expressões de extensão de marcação {TemplateBinding} para associar a propriedade HorizontalContentAlignment a uma HorizontalAlignment
propriedade em algum elemento dentro de seu modelo, como o apresentador ou o elemento usado como a área de conteúdo.