2012-06-22 14 views
7

Desidero poter allineare i pulsanti all'interno di un pannello di stack centralmente. Il numero di pulsanti è dinamico e generato quando viene caricato il controllo. Ad esempio, se viene generato un pulsante, questo pulsante deve essere posizionato al centro del controllo. Se vengono visualizzati 5 pulsanti, tutti e 5 dovrebbero essere allineati orizzontalmente l'uno dopo l'altro ma centrali rispetto al controllo.Pannello pila WPF Allinea Centrally

Un approccio alternativo sarebbe quello di ridimensionare il controllo in modo dinamico in base al suo contenuto in modo che sarebbe più ampio con più pulsanti e quindi allineare orizzontalmente il controllo utente sulla pagina, ma non sono sicuro di come affrontare una delle due soluzioni?

Qualcuno ha qualche idea?

+3

Le domande di layout funzionano meglio con un esempio di Xaml esistente :) –

risposta

16

Questo dovrebbe funzionare. Imposta l'allineamento orizzontale nel pannello dello stack e assicurati che quando aggiungi il tuo pulsante in modo dinamico, dai a ciascuno un valore di proprietà del margine per dare loro uno spazio l'uno dall'altro. orizzontali tra loro, centrali rispetto al controllo.

<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="20"> 
     <Button Margin="10">one</Button> 
     <Button Margin="10">two</Button> 
     <Button Margin="10">three</Button> 
     <Button Margin="10">four</Button> 
     <Button Margin="10">five</Button>    
    </StackPanel>