FrameworkElement.VerticalAlignment Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece las características de alineación vertical que se aplican a un FrameworkElement cuando se compone en un objeto primario, como un panel o un control de elementos.
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 de propiedad
Un valor de alineación vertical, como valor de la enumeración. El valor predeterminado es Stretch
.
Ejemplos
En este ejemplo, el valor Center
se asigna a HorizontalAlignment y VerticalAlignment
para colocar los elementos TextBlock en el centro de las celdas 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>
Comentarios
Las propiedades de alineación están diseñadas para sugerir el diseño deseado a un contenedor de diseño adaptable. Normalmente se establecen en elementos secundarios FrameworkElement e interpretados por otro FrameworkElement
elemento primario del contenedor (normalmente una clase derivada contentControl o una clase derivada de Panel , o quizás un moderador). Establecer propiedades de alineación en un elemento secundario no garantiza que ocurra nada; el comportamiento depende de la composición del diseño y de los elementos primarios implicados.
Cuando las propiedades Height y Width se establecen o calculan explícitamente en un objeto, esas medidas son más importantes para la lógica de diseño típica y pueden cancelar los efectos de establecer en VerticalAlignment
Stretch. Las propiedades de restricción de diseño (como MaxHeight) también afectan al tamaño de diseño máximo o mínimo para una Stretch
situación de diseño.
Stretch
es el valor predeterminado para que sea más fácil usar técnicas de diseño adaptable en los casos en los que no hay ninguna medida explícita. Pero si hay Height
o Width
recorte, el diseño actúa como si el valor es Top
para VerticalAlignment
, normalmente Left
para HorizontalAlignment (Right
para la información de referencia cultural de derecha a izquierda o valores de FlowDirection explícitos). Para obtener más información, consulta alineación, margen y espaciado.
Canvas no usa VerticalAlignment
al componer el diseño, ya que Canvas
se basa en el posicionamiento absoluto. En general, el valor de VerticalAlignment
se trata de forma diferente por cualquier objeto que sea capaz de tener uno o varios objetos FrameworkElement como contenido secundario. Cada objeto primario puede tener su propia lógica de diseño.
Cada elemento de interfaz de usuario XAML puede aplicar esta propiedad de forma diferente en función de los establecedores de estilo para el estilo implícito. El "valor predeterminado" aparente para VerticalAlignment
en cada elemento de interfaz de usuario puede ser diferente. Por ejemplo, un control Button comienza con el valor Center
. Si el elemento de la interfaz de usuario es un control, el VerticalAlignment
valor también podría afectar a la plantilla visual del control.
En los controles de contenido, la plantilla de control suele usar expresiones de extensión de marcado {TemplateBinding} para enlazar la propiedad VerticalContentAlignment a una VerticalAlignment
propiedad de algún elemento dentro de su plantilla, como el moderador o el elemento usado como área de contenido.