按钮内的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>
现在他们看起来象下面这样:
如何设置,是一个按钮将成为一列?
更新:电网防守力:
<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>
答
像这样:
<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>
目前尚不清楚你的问题是什么。你想让按钮出现在彼此之上吗?作为一个专栏?如果是这样,你可以将StackPanel的'Orientation'设置为'Vertical'。 –
例如我有10列,我创建了堆栈面板,里面的一个按钮应该成为一列......或者也许删除堆栈面板? – 4est
“也许删除堆叠面板”。而已。将按钮直接放入网格中并分配适当的“Grid.Row”和“Grid.Column”值。 – Clemens