0

在同一内部,StackPanel我想将一个控件放在左侧对齐,另一个放在右侧。我尝试使用 aGrid和定义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?

4

1 回答 1

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>
于 2013-08-24T09:25:25.803 回答