2012-09-14 19 views
5

En WPF, me está costando muchísimo tiempo intentar obtener una cuadrícula del tamaño adecuado.Automatización de una columna de cuadrícula para ocupar el espacio restante en el elemento primario

tengo la siguiente distribución por mi rejilla:

<ItemsControl HorizontalContentAlignment="Stretch"> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="Auto"/> 
         <ColumnDefinition Width="80"/> 
         <ColumnDefinition Width="80"/> 
         <ColumnDefinition Width="100"/> 
        </Grid.ColumnDefinitions> 
        <Label Grid.Column="0" /> 
        <Label Grid.Column="1"/> 
        <TextBox Grid.Column="2"/> 
        <Button Grid.Column="3"/> 
       </Grid> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
</ItemsControl> 

El problema es que width = "Auto" parece estar dimensionado que la columna a la anchura del contenido, y no llenar el espacio extra en el contenedor principal. Esto deja el resto de las columnas sin alinear y un espacio en blanco feo al final de cada fila.

Probablemente me esté perdiendo algo simple, pero parece que no puedo encontrar un método adecuado para la columna.

¿O hay un mejor control para el trabajo?

Respuesta

9

* significa llenar o compartir. Si tuviera dos con *, compartirían el ancho de manera uniforme.

<ColumnDefinition Width="*"/> 
0

Parece que encontré una solución después de un poco más de retoques.

El problema era: <ColumnDefinition Width="Auto"/>

Esto causaba la columna para adaptarse al contenido. Lo cambié a: <ColumnDefinition />

Esto provoca que la columna se ajuste al espacio vacío que queda en el contenedor primario, independientemente del tamaño del contenido.

+0

Eso se traduce en 'Ancho =" * "'. Ver la respuesta de @Blam para un poco más de detalle –

+0

Mhh no parece funcionar en mi caso, Button sigue siendo tan grande como su texto. – AgentKnopf

+0

No funciona si el ancho del contenido es mayor que la columna. – walteronassis

Cuestiones relacionadas