ASP.Net  »  Guide  »  Guida Silverlight 

StackPanel



Lo StackPanel ha la peculiarità di ordinare, in maniera automatica, gli elementi figlio come una pila, in direzione verticale o orizzontale, a seconda del valore della proprietà Orientation. Vediamo un esempio di utilizzo dello StackPanel per posizionare, con orientamento predefinito, quindi verticale, tre controlli Button:

<StackPanel x:Name="LayoutRoot" Background="Azure"
            Width="400" Height="300">

  <Button Content="Cliccami1" Height="50" Width="100" />
  <Button Content="Cliccami2" Height="50" Width="100" />
  <Button Content="Cliccami3" Height="50" Width="100" />
</StackPanel>

Figura 24. Esempio di StackPanel

Esempio di StackPanel

Il risultato mostra i tre Button incolonnati verticalmente.

Margini

Notiamo anche che i controlli sono adiacenti l'uno con l'altro. In questo caso per distanziare gli elementi figlio si utilizza la proprietà Margin, applicata come attributo su questi ultimi. Questa proprietà, ereditata da FrameworkElement, quindi esposta da tutti i controlli, indica la distanza di un controllo figlio dal bordo del controllo padre.

Impostazioni per la proprietà Margin
ValoreDescrizione
"10"Un unico valore, 10, che verrà utilizzato per tutti i lati del bordo
"20,5"Due valori, utilizzati per impostare coppie di bordi. Il primo valore, 20, imposta la distanza dal bordo sinistro e destro. Il secondo valore, 5, imposta la distanza dal bordo superiore e quello inferiore
"0,10,20,30"Quattro valori, per impostare rispettivamente la distanza dal bordo sinistro, superiore, destro ed inferiore

Allineamento

Altre proprietà importanti per la gestione del layout, sono: HorizontalAlignment, VerticalAlignment, HorizontalContentAlignment e VerticalContentAlignment, che indicano rispettivamente l'allineamento orizzontale e verticale per il controllo oppure per il contenuto del controllo. I possibili valori sono elencati nella seguente tabella.

ValoreDescrizione
LeftL'elemento viene allineato a sinistra
RightL'elemento viene allineato a destra
TopL'elemento viene allineato in alto
BottomL'elemento viene allineato in basso
CenterL'elemento viene allineato al centro
StretchL'elemento viene allargato per riempire l'intero spazio disponibile

Vediamo un esempio:

<StackPanel x:Name="LayoutRoot" Background="Azure"
            Width="400" Height="300">
  <Button Content="Left"    HorizontalAlignment="Left"    Margin="10" />
  <Button Content="Center"  HorizontalAlignment="Center"  Margin="10" />
  <Button Content="Right"   HorizontalAlignment="Right"   Margin="10" />
  <Button Content="Stretch" HorizontalAlignment="Stretch" Margin="10" />
</StackPanel>

Figura 25. Modifica dei margini e dell'allineamento

Modifica dei margini e dell'allineamento

Ultimi articoli ASP.Net

LINQ e la trappola della 'deferred execution'

Una "trappola" in cui si può incappare utilizzando il risultato di...

C#, le Custom Type Conversion

Conversioni personalizzate tra classi, creare metodi particolari per...

Introduzione a Entity Framework

Il framework ORM messo a disposizione da .NET

Repeater: visualizzare un feed RSS

Utilizzare il controllo XMLDataSource e sfruttare il metodo XPath()...

Repeater, il server control "semplice"

Cos'è e come funziona il controllo Repeater

Altri articoli

Guide ASP.Net

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Guida Visual Studio 2010

L'ambiente di sviluppo di riferimento per sviluppare applicazioni su...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto