Stackpanels并排

时间:2016-12-05 21:31:31

标签: xaml

我想把stackPanels放在一起。然后在每个堆栈面板中,有不同的控件。现在第一个堆栈面板正在工作。它有文本块和文本框。现在我想在第二个堆栈面板上添加一个按钮,依此类推。问题是第二个面板没有显示按钮的内容。不确定为什么?

<StackPanel Orientation="Vertical">
    <StackPanel Orientation="Horizontal" Width="300" HorizontalAlignment="Left" Margin="10">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="100"></ColumnDefinition>
                        <ColumnDefinition Width="100"></ColumnDefinition>
                        <ColumnDefinition Width="100"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="25"></RowDefinition>
                        <RowDefinition Height="25"></RowDefinition>
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" Text="Year" TextAlignment="Center"></TextBlock>
                    <TextBlock Grid.Column="1" Grid.Row="0" Text="Week" TextAlignment="Center"></TextBlock>
                    <TextBlock Grid.Column="2" Grid.Row="0" Text="File Location" TextAlignment="Center"></TextBlock>
                </Grid>
            </StackPanel>
            <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="0" Margin="10">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition></ColumnDefinition>
                        <ColumnDefinition Width="100"></ColumnDefinition>
                        <ColumnDefinition Width="100"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"></RowDefinition>
                    </Grid.RowDefinitions>
                    <Button Grid.Column="0" Grid.Row="0">
                        <TextBlock Text="Get Informations" TextWrapping="Wrap" TextAlignment="Center"></TextBlock>
                    </Button>
                </Grid>
            </StackPanel>
            <StackPanel Orientation="Horizontal" Grid.Column="2" Grid.Row="0"></StackPanel>
            <StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="1"></StackPanel>
            <StackPanel Orientation="Horizontal" Grid.Column="2" Grid.Row="1"></StackPanel>
        </Grid>

    </StackPanel>
</StackPanel>

1 个答案:

答案 0 :(得分:1)

如果需要解决方案,则将Stackpanel的宽度设置为300。要么删除stackpnael(300宽度的那个),要么将该堆栈面内的Grid固定为300