2012-06-22 10 views
7

Chcę mieć możliwość centralnego wyrównywania przycisków w panelu stosu. Liczba przycisków jest dynamiczna i generowana po załadowaniu kontrolki. Na przykład, jeśli wygenerowany zostanie przycisk 1, przycisk ten powinien znajdować się na środku kontrolki. Jeśli wyświetlane są 5 przycisków, wszystkie 5 powinny być wyrównane poziomo obok siebie, ale centralnie względem kontrolki.Panel stosu WPF wyrównany centralnie

Alternatywnym podejściem byłoby dynamiczne zmienianie rozmiaru kontrolki na podstawie jego zawartości, aby było szersze za pomocą większej liczby przycisków, a następnie wyrównanie w poziomie kontroli użytkownika na stronie, ale nie jestem pewien, w jaki sposób podejść do rozwiązania.

Czy ktoś ma jakieś pomysły?

+3

Pytania układowe najlepiej sprawdzają się na przykładzie istniejącego Xaml :) –

Odpowiedz

16

To powinno zadziałać. Ustaw poziomo wyrównanie w panelu stosu i upewnij się, że dynamicznie dodając przycisk, podaj każdemu z nich wartość właściwości marginesu, aby uzyskać od siebie trochę miejsca. poziomo względem siebie, w centrum kontroli.

<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>