在同一个StackPanel
内,我想把一个控件放在左边,另一个放在右边。我尝试使用Grid
并定义ColumnDefinitions
,但没有运气。
<StackPanel Orientation="Horizontal">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="72" />
</Grid.ColumnDefinitions>
<StackPanel HorizontalAlignment="Left" Grid.Column="0" Orientation="Horizontal">
<Button />
</StackPanel>
<StackPanel HorizontalAlignment="Right" Grid.Column="1">
<Button Height="72" Width="72" />
</StackPanel>
</Grid>
</StackPanel>
第一列通常占总宽度的50%到80%(取决于内容),而第二列总是占用72px。如何设置第一列以使其填充总Grid
宽度减去72px?
答案 0 :(得分:0)
将第一列的Width
属性设置为Star
:
<ColumnDefinition Width="*" />
在代码中进行更改应该有效:
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="72" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<Button />
</StackPanel>
<StackPanel HorizontalAlignment="Right" Grid.Column="1">
<Button Height="72" Width="72" />
</StackPanel>
</Grid>
</StackPanel>