Grid
La griglia è il contenitore più potente tra quelli messi a
disposizione da WPF e con esso è praticamente possibile realizzare qualsiasi layout.
In un controllo Grid possiamo definire una collezione di righe e una collezione di colonne. Per posizionare i
controlli all’interno delle celle della griglia è necessario utilizzare le attached property Row e Column
della griglia stessa. Un controllo può anche occupare più righe o più colonne. Il seguente esempio propone una
griglia con tre controlli (button, textblock e textbox) alcuni dei quali si estendono su più celle:
<Window x:Class="GridWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Grid" Height="300" Width="300">
<Grid ShowGridLines="True" >
<Grid.RowDefinitions>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0"
Grid.RowSpan="2" Margin="5">Bottone</Button>
<TextBlock Grid.Row="1" Grid.Column="1"
Height="100" Margin="5"
Background="BlanchedAlmond">Text Block</TextBlock>
<TextBox Grid.Row="2" Grid.Column="1"
Grid.ColumnSpan="2" Margin="5"
Background="BurlyWood" TextWrapping="Wrap"></TextBox>
</Grid>
</Window>
Il risultato dello XAML è il seguente:
Per fare si che un controllo occupi, ad esempio,
due colonne utilizziamo l’attached property Grid.ColumnSpan=”2”.