按钮内的StackPanel

问题描述:

我已经堆叠面板(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

像这样:

<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

好。那么可能是你可以分享你的答案或接受这里提到的答案。 –

我认为你需要让每个按键一列像

<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