Questa domanda è stata nella mia mente da quando ho iniziato con WPF e Silverlight. In generale, è meglio usare le griglie annidate o semplicemente impostare le proprietà di estensione di colonne / righe in una singola griglia?
Meglio potrebbe essere misurato in molti modi (non limitato a questi):
Ad esempio, considera che voglio dividere la mia vista in tre regioni. Una regione si estende per la larghezza della metà superiore della pagina. Le altre due regioni coprono ciascuna metà del fondo della pagina. Proverò a disegnarlo nel testo:
---------
| 1 |
---------
| 2 | 3 |
---------
Il cuore della domanda è "quale di queste due soluzioni per l'esempio è migliore e perché?"
Soluzione 1:
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">1</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0">2</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1">3</TextBlock>
</Grid>
Soluzione 2:
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0">1</TextBlock>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0">2</TextBlock>
<TextBlock Grid.Column="1">3</TextBlock>
</Grid>
</Grid>
Mi rendo conto che probabilmente non esiste una risposta "corretta". Entrambe le soluzioni funzionano e non sono molto diverse. La mia speranza è di valutare quale è più spesso fatto nella comunità in generale. Se c'è una convenzione che viene spesso seguita spero di impararla.