[英]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.