2017-05-08 48 views
0

我已經堆疊面板(1行×6列)包含了6個按鈕:按鈕內的StackPanel

<StackPanel Background="AntiqueWhite" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="6" Orientation="Horizontal"> 
      <Button x:Name="a1" Content="a1" /> 
      <Button x:Name="a2" Content="a2" /> 
      <Button x:Name="a3" Content="a3" /> 
      <Button x:Name="a4" Content="a4" /> 
      <Button x:Name="a5" Content="a5" /> 
      <Button x:Name="a6" Content="a6" /> 
     </StackPanel> 

現在他們看起來象下面這樣:

enter image description here

如何設置,是一個按鈕將成爲一列?

更新:電網防守力:

<Grid Background="AliceBlue"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
     </Grid.RowDefinitions> 
+0

目前尚不清楚你的問題是什麼。你想讓按鈕出現在彼此之上嗎?作爲一個專欄?如果是這樣,你可以將StackPanel的'Orientation'設置爲'Vertical'。 –

+0

例如我有10列,我創建了堆棧面板,裏面的一個按鈕應該成爲一列......或者也許刪除堆棧面板? – 4est

+3

「也許刪除堆疊面板」。而已。將按鈕直接放入網格中並分配適當的「Grid.Row」和「Grid.Column」值。 – Clemens

回答

1

像這樣:

<Grid Background="AliceBlue"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*"/> //width will be divided equally among 6 columns 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      //Row definations will go here 
     </Grid.RowDefinitions> 
     <Button Content="a1" Grid.Column="0" /> 
     <Button Content="a2" Grid.Column="1" /> 
     <Button Content="a1" Grid.Column="2" /> 
     <Button Content="a2" Grid.Column="3" /> 
     <Button Content="a1" Grid.Column="4" /> 
     <Button Content="a2" Grid.Column="5" /> 
    </Grid> 
+0

謝謝@Naresh,我已經沒有設置「寬度」 – 4est

+0

好。那麼可能是你可以分享你的答案或接受這裏提到的答案。 –

0

我認爲你需要讓每個按鍵一列像

<Button x:Name="a1" Content="a1" Grid.Column="0" /> 
<Button x:Name="a2" Content="a2" Grid.Column="1" /> 

因此,對於定義您的StackPanel內網格狀:

<StackPanel> 
<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="1*"/> 
     <ColumnDefinition Width="1*"/> 
     <ColumnDefinition Width="1*"/> 
     .... 
    </Grid.ColumnDefinitions> 
</Grid> 
<Buttons Grid.Column="..."/> 
</StackPanel> 
+0

我把這個,但沒有改變... – 4est

+0

你能提供你的網格定義? –

+0

更新了我的查詢 – 4est