FrameworkElement.VerticalAlignment Propriedade

Definição

Obtém ou define as características de alinhamento vertical que são aplicadas a um FrameworkElement quando ele é composto em um objeto pai, como um painel ou controle de itens.

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

Valor da propriedade

Uma configuração de alinhamento vertical, 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 de ContentControl ou uma classe derivada de Painel , 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 ou calculadas explicitamente 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 verticalAlignment como Stretch. As propriedades de restrição de layout (como MaxHeight) também afetam o tamanho máximo ou mínimo do layout para uma situação de layout stretch . 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 à esquerda para HorizontalAlignment (direita para 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 VerticalAlignment ao redigir o layout, pois o Canvas é baseado no posicionamento absoluto. Em geral, o valor de VerticalAlignment é potencialmente tratado de 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 "valor padrão" aparente para VerticalAlignment em cada elemento de interface do usuário pode ser diferente. Por exemplo, um controle Button começa com o valor Central. Se o elemento de interface do usuário for um controle, o valor VerticalAlignment 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 VerticalContentAlignment a uma propriedade VerticalAlignment em algum elemento dentro de seu modelo, como o apresentador ou o elemento usado como a área de conteúdo.

Aplica-se a

Confira também