O Stack Panel, como diz o nome, é um painel em formato de pilha. Ou seja, você consegue enfileirar uma pilha de objetos dentro deles. A ideia é facilitar o desenho daqueles objetos que são construídos num formato de fila, como um menu vertical ou horizontal.
Inclusive existe uma propriedade chamada Orientation que define justamente isto: se os objetos serão alinhados na vertical (valor padrão) ou na horizontal.
Este painel foi desenhado com a intenção de organizar poucos objetos, ou seja, a ideia não é utilizar estes painéis para desenhar um layout inteiro, mas parte deles. De fato, ele convive bem com outros painéis como o Canvas e o Grid.
Vamos ver um exemplo simples:
<StackPanel> <Button Margin="3" Height="50" Width="50" Content="Arquivo" /> <Button Margin="3" Height="50" Width="50" Content="Editar" /> <Button Margin="3" Height="50" Width="50" Content="Visualizar" /> </StackPanel>
<StackPanel>
<Button Margin="3" Height="50" Width="50" Content="Arquivo" />
<Button Margin="3" Height="50" Width="50" Content="Editar" />
<Button Margin="3" Height="50" Width="50" Content="Visualizar" />
</StackPanel>
Resultado:
Agora vamos ver na vertical como fica:
<StackPanel Orientation="Horizontal"> <Button Margin="3" Height="50" Width="50" Content="Arquivo" /> <Button Margin="3" Height="50" Width="50" Content="Editar" /> <Button Margin="3" Height="50" Width="50" Content="Visualizar" /> </StackPanel>
<StackPanel Orientation="Horizontal">
Fonte do artigo original: http://evenancio.wordpress.com/2011/11/18/entendendo-os-panels-stack-panel/
Eu particularmente só utilizo o StackPanel, acho mais facil estruturar um layout com ele