2011-08-05 38 views
5

如何將元素插入到堆棧面板中,並且它們以中心開始定位? 類似這樣的:以堆棧面板中心開始的元素

| _ _ x _ _ |

| _ x x _ _ |

| _ x x x _ |

「x」是元素,「_」是空白。

有沒有東西已經實施?

回答

0

它依賴於你添加到StackPanel的元素,但總體來看以下幾點:確保每個元素都將Horizo​​ntalAlignment設置爲Stretch(使它們跨越整個寬度),然後設置Horizo​​ntalContentAlignment到中心。

0

裹在具有HorizontalAlignment設置爲Stretch的元素,例如元素:

<StackPanel> 
    <Border HorizontalAlignment="Stretch"> 
    <TextBlock Text="something short" HorizontalAlignment="Center"/> 
    </Border> 
    <Border HorizontalAlignment="Stretch"> 
    <TextBlock Text="something a bit longer" HorizontalAlignment="Center"/> 
    </Border> 
    <Border HorizontalAlignment="Stretch"> 
    <TextBlock Text="something more than a bit longer" HorizontalAlignment="Center"/> 
    </Border> 
</StackPanel> 
21

你可以換你的元素在Grid

<Grid Width="720"> 
    <StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Width="Auto" > 
    <!-- elements go here --> 
    </StackPanel> 
</Grid> 

這是我認爲最簡單的方法。 您還需要確保StackPanel的寬度=「自動」和網格的寬度=「720」(根據需要某個固定值)。

+1

這工作很好,在我看來是最乾淨的。 –

1
<StackPanel> 
    <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> 
    <!-- element x --> 
    </StackPanel> 
    <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> 
    <!-- element x --> 
    <!-- element x --> 
    </StackPanel> 
    <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> 
    <!-- element x --> 
    <!-- element x --> 
    <!-- element x --> 
    </StackPanel> 
<StackPanel> 

這產生了你給出的例子。