【发布时间】:2014-10-22 11:04:09
【问题描述】:
我有一个有 2 行的网格,一行用于名称和按钮,另一行用于输出。
我希望第一行拉伸整个宽度,并且按钮向右对齐。
想知道我缺少什么,因为我认为堆栈面板会填充宽度。
<Window x:Class="Sample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="0" >
<TextBox Name="NameTextBox" MinWidth="150" HorizontalAlignment="Stretch"/>
<Button Margin="10,0" Name="AlertButton" Content="Say Hello" HorizontalAlignment="Stretch" />
</StackPanel>
<TextBox Name="OutpuTextBox" MinLines="5" Grid.Row="1" Grid.Column="0"/>
</Grid>
</Window>
【问题讨论】:
-
StackPanel将填充宽度,但他们的孩子不会。您必须嵌套另一个Grid或先用更多单元格扩展Grid(可能对某些元素使用RowSpan/ColumnSpan)。