Un elemento può avere un singolo figlio oppure una collezione di figli, questo fatto da vita a due casistiche. Nel primo caso il singolo elemento figlio viene definito tramite la proprietà Content
, la quale, come abbiamo già notato nelle lezioni precedenti, può essere impostata utilizzando la sintassi basata sugli attributi XAML:
<Button x:Name="sampleButton" Height="50" Width="100" Content="Cliccami!" />
oppure tramite la sintassi Property Element:
<Button x:Name="sampleButton" Height="50" Width="100"> <Button.Content> <Rectangle x:Name="sampleRectangle" Height="40" Width="40" Fill="Blue" /> </Button.Content> </Button>
Tale proprietà è di tipo object
, quindi permette di impostare qualsiasi elemento come contenuto, come per esempio un immagine, un video piuttosto che un'altro controllo, come già mostrato per i Property Element.
Nel secondo caso il controllo definisce una collezione di elementi figlio, quindi per aggiungere istanze alla collezione basta dichiarare elementi annidati:
<ListBox x:Name="sampleListBox" Height="200" Width="200"> <ListBoxItem Content="SampleListBoxItem1" /> <ListBoxItem Content="SampleListBoxItem2" /> <ListBoxItem Content="SampleListBoxItem3" /> </ListBox>
Abbiamo creato un controllo ListBox
con tre elementi figlio di tipo ListBoxItem
. Un altro esempio lampante di oggetto che può avere molteplici figli è l'elemento principale del file XAML, lo UserControl
.