Da Silverlight 2 in poi è possibile creare applicazioni con una forte composizione, qualità tipica delle applicazioni Web. Come facciamo però, a rappresentare, tramite codice XAML, un elemento figlio complesso?
La risposta è negli "Elementi Proprietà" (Property Element), che sono un'alternativa all'uso dei semplici attributi per esprimere il valore di una proprietà di un elemento, quindi vengono utilizzate quando non basta un semplice valore letterale, ma necessitiamo, a sua volta, di un'altra dichiarazione XAML, più o meno articolata. Vediamo un esempio:
<Button x:Name="sampleButton" Height="50" Width="100" > <Button.Content> <TextBox x:Name="sampleTextBox" Text="Cliccami!" /> </Button.Content> </Button>
Nel codice XAML abbiamo impostato un controllo TextBox
, contenente del testo, come contenuto di un controllo Button
. Ciò che otteniamo è un bottone che, al posto del tradizionale messaggio di testo, ha al suo interno una casella di testo!.
L'aspetto interessate da sottolineare è che i controlli "figlio" mantengono il proprio funzionamento, quindi da un lato possiamo modificare il testo contenuto nella TextBox
, dall'altro possiamo cliccare sul Button
.
Un Property Element deve essere definito all'interno dell'elemento stesso con la sintassi:
Sintassi di un Property Element
NomeElemento.NomeProprietà
Come nell'esempio precedente dove abbiamo definito la proprità Button.Content
annidata rispetto alla definizione dell'elemento Button
.