首页 > 解决方案 > 如何在 xaml 中使用 grid.row 获得整个窗口的一半?

问题描述

我想得到这样的结构:
在此处输入图像描述

所以我尝试了这个:

<!-- Canvas -->
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="4*"/>
        </Grid.ColumnDefinitions>
        <!--Toolbox & poperties -->

            <Grid Grid.Column="0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>

                </Grid.RowDefinitions>

            <StackPanel Grid.Row="0">
                <Button Content="sdf"/>

            </StackPanel>

            <StackPanel Grid.Row="1">
                <Button Content="sdf"/>


            </StackPanel>
            </Grid>


    </Grid>

但是我无法使用网格获得一半的高度。我还能做什么?

标签: wpfxaml

解决方案


您可以尝试以下标记并使用Grid.RowSpan扩展StackPanel成两行

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="4*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
     </Grid.RowDefinitions>

     <Button Grid.Column="0" Grid.Row="0" Content="sdf"/>
     <Button Grid.Column="0" Grid.Row="1" Content="sdf"/>
     <StackPanel Grid.Column="1" Grid.Row="0" Grid.RowSpan="2"/>
</Grid>

推荐阅读