簡體   English   中英

為什么我的網格布局沒有占據整個寬度

[英]Why my grid layout is not occupying complete width

我有一個包含六行的網格(每行是一個堆棧布局)。

在我的第五行(即第五個堆棧布局)中,我有一個網格。該網格的寬度為100%,但該網格未占據寬度的100%。

我該如何解決這個問題?

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="0" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="1" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="2" Orientation="Vertical">
        <Grid Width="100%">
        </Grid>
    </StackPanel>
    <StackPanel Grid.Row="3" Orientation="Vertical">
    </StackPanel>
</Grid>

我認為,您可以嘗試刪除堆棧面板,並且可以在Grid上使用Grid.Row來解決此問題。

我以前沒有看到UWP中使用的百分比,甚至認為它不是有效的語法。 我認為您應該使用HorizontalAlignment="Stretch"來將Grid拉伸到完整寬度。

@Martin Zikmund和@Durai Amuthan.H的建議都是正確的。 UWP XAML布局中的Width=100%不支持。

如果要使Grid具有與StackPanel相同的寬度,並在調整窗口大小時自動調整大小,則也可以像下面這樣直接刪除Width

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="0" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="1" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="2" Orientation="Vertical">
        <Grid Background="Red">
            <TextBlock Text="abc"></TextBlock>
        </Grid>
    </StackPanel>
    <StackPanel Grid.Row="3" Orientation="Vertical">
    </StackPanel>
</Grid>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM