2017-11-24 7 views
1

私はスタックパネルを持っていて、1つのグリッドを持っていて、グリッドをスタックパネルと同じ高さにしたいと思います。UWPで親の高さを子供に与える方法

私は何も

を働かない、私はOnNavigatedToプログラム的に値を設定しようとしたが、それは、これを解決する

任意の提案は

歓迎されている効果を持っていないVerticalAlignmentストレッチや高さが100%で遊んでみました以下のコードを見つけてください

<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'パネルは常に親と同じサイズを持ちます。 'Grid'に' Background'色を設定することで確認できます。 –

+0

'StackPanel'の目的は何ですか? 1人の子供しかいない。 –

答えて

1

StackPanelはd内容によって必要とされるサイズに落ち着き、必要なサイズに縮小する一方で、Gridのようなコンテナコントロールは利用可能なフルサイズ(例えば全ページ)まで伸びる。

StackPanelのままにしたい場合は、GridではなくStackPanelVerticalAlignment="Stretch"を設定する必要があります。

StackPanelにはGridが唯一のコンテンツアイテムであるため、それを削除してプロパティGrid.RowSpan="4" Background="#CFFF" Visibility="Visible"Gridに移動することができます。常にXAML構造をできるだけシンプルに保つようにしてください。

関連する問題