2009-01-02 16 views

Respuesta

10

Sí, es por diseño. El StackPanel asignará el espacio que solicita el TextBox. Si no ha establecido un ancho en TextBox, solo necesitará suficiente ancho para ajustarse a su texto.

7

La respuesta de Kent parece correcta.
Para forzar aún más la anulación del comportamiento de StackPanel, creo que necesitaría calcular dinámicamente la propiedad Ancho de los elementos contenidos o alguna anulación funky de MeasureOverride. Prefiero usar otro administrador/panel de diseño. Algunas cosas que observaron ..

  • El valor predeterminado de propiedades HorizontalAlignment y VerticalAlignment de elementos secundarios es estiramiento (si no se especifica uno explícitamente).
  • El StackPanel estirará los elementos en función de su valor de propiedad Orientación. Así

    • Orientación = Horizontal significa que todos los elementos se extiende verticalmente para máx. Los elementos fluyen horizontalmente.
    • Orientación = Vertical significa que todos los elementos se extenderán al máximo. Los elementos fluyen verticalmente.
  • A menos que se especifique explícitamente, el ancho y la altura de los elementos secundarios son NaN. Si especifica un valor explícito, StackPanel los respetará en las configuraciones Horiz y Vert Alignment.
  • El propio StackPanel tiene HorizontalAlignment y VerticalAlignment que agrega un giro de diseño adicional. Puedes experimentar con este example.

StackPanel

El valor predeterminado es de estiramiento, tanto para HorizontalAlignment y VerticalAlignment de contenido que está contenida en un StackPanel.

HorizontalAlignment

Cuando altura y la anchura propiedades son establecer explícitamente en un elemento, estos mediciones toman superior precedente durante el diseño y se cancelará la efectos típicos de ajuste HorizontalAlignment a estirarse.

4

Necesitaba que los elementos se dimensionaran uniformemente, pero se apilaran verticalmente.

he usado un UniformGrid, y establezca la propiedad Columnas a 1. (probado con un cuadro de texto, y se estira como usted quiere)

+0

Esta fue la respuesta exacta que necesitaba para un problema de diseño similar con botones. ¡Gracias! –

Cuestiones relacionadas