Auto and * are definitely not the same.

When talking about RowDefinitions, Auto means that the size of the elements in that row will determine the height of that row.
* means that the row's height will be as large as possible, but relative to other *-sized rows.

For example, if you have rowdefinitions of <*><Auto><*>, this means the Auto row will be the height that its child elements want to be, and the rest of the grid-height will be evenly devided between the other two rows.

This same principle also goes for the Width of ColumnDefinitions.

For example,

    <Grid Margin="10" Background="Orange">  
      <Grid.RowDefinitions> 
        <RowDefinition Height="*"/>  
        <RowDefinition Height="Auto"/>  
        <RowDefinition Height="*"/>  
      </Grid.RowDefinitions> 
      <Button Grid.Row="0" Content="Button1"/>  
      <Button Grid.Row="1" Content="Button2"/>  
      <Button Grid.Row="2" Content="Button3"/>  
    </Grid> 

Result:




If define Height as 1* and 2*, it means the height of 2* is twice the height of 1*.

* is the same as 1*.

posted on 2013-02-17 17:13  chuwachen  阅读(152)  评论(0)    收藏  举报