2017-11-24 2 views
1
geben

Ich habe ein Stack-Panel und es hat ein Gitter und ich möchte das Gitter die gleiche Höhe wie Stack-Panel haben.Wie die Höhe eines Elternteils in UWP

Ich habe versucht, mit VerticalAlignment Strecke oder Höhe 100% nichts spielen arbeitet

Ich habe versucht, die Werte programmatisch OnNavigatedTo Einstellung, aber es hat nicht die Wirkung

Irgendwelche Vorschläge dieses willkommen zu lösen

Den Code finden Sie unter

<StackPanel Grid.Row="0" Grid.RowSpan="4" Background="#CFFF" Visibility="Visible" Orientation="Vertical" Name="ProgressOverlay"> 
    <Grid Name="Overlaygrid""> 
     <StackPanel VerticalAlignment="Center" Grid.Row="0"> 
      <ProgressBar 
      IsIndeterminate="True" 
      IsEnabled="True" Foreground="Black"/> 
      <TextBlock Visibility="Visible" Foreground="Black" FontSize="25” T HorizontalAlignment="Center" Text="Loading"/> 
     </StackPanel> 
    </Grid> 
</StackPanel> 
+0

'Grid' Panel haben immer die gleiche Größe wie die Eltern, es sei denn, Sie geben die Größe an. Sie können es überprüfen, indem Sie eine 'Hintergrund'-Farbe auf Ihr' Grid' setzen. –

+0

Welchen Zweck erfüllt das 'StackPanel'? Es hat nur ein Kind. –

Antwort

1

A StackPanel dauert von d Standardgröße wird durch den Inhalt benötigt und verkleinert sich auf die erforderliche Größe, während ein Container-Steuerelement wie Grid sich auf die volle verfügbare Größe erstreckt (z. B. ganze Seite).

Wenn Sie die äußere StackPanel behalten möchten, werden Sie VerticalAlignment="Stretch" auf dem StackPanel gesetzt haben, nicht auf dem Grid.

Aber seit dem Grid die nur einzelne Inhaltselement ist in Ihrem äußeren StackPanel, können Sie es entfernen und die Eigenschaften Grid.RowSpan="4" Background="#CFFF" Visibility="Visible" zum Grid bewegen. Versuchen Sie immer, Ihre XAML-Struktur so einfach wie möglich zu halten.

Verwandte Themen