2017-11-24 17 views
0

別のスタックパネルを持つスタックパネルがあり、2番目のパネルを最初のスタックパネルの中央に配置したいと思います。垂直配置は何も動作しません。子アイテムを親の高さの中心に垂直に配置する方法

誰でもこれに取り組んでいますか?私はあなたの助けをしたいと思います。

更新:

<StackPanel Grid.Row="0" Grid.RowSpan="4" Background="White" Visibility="Visible" Orientation="Vertical"> 

       <StackPanel VerticalAlignment="Center" Grid.Row="0"> 
        <ProgressBar Margin="0,15,0,0" 
        IsIndeterminate="True" 
        IsEnabled="True" Foreground="Black"/> 
        <TextBlock Visibility="Visible" Margin="6,6,6,15" Foreground="Black" FontSize="21" TextWrapping="WrapWholeWords" HorizontalAlignment="Center" Text="Loading..."/> 
       </StackPanel> 
     </StackPanel> 
+0

はあなたがしようとしたかを示しますか? –

+0

私はmotherスタックの向きをveritcalとchildスタックに設定してみました。 – Shiva

+0

私たちにコードを見せてください。 –

答えて

2

ここでの問題はStackPanelです。スタックパネルは、片側(上、左...)のアイテムを積み重ねるので、アイテムを完全に中央に置くことはできません。StackPanel。項目が垂直に積み重ねられている場合、VerticalAlignmentプロパティはパネルの直接の子である項目には影響しません。同じことがHorizontalAlignmentと水平積みにも当てはまります。

あなたがアイテムを中心にGridまたはBorderを使用する必要があります(Visibleがデフォルトの状態ですので、私もVisibility値を削除):

<Grid Grid.Row="0" 
     Grid.RowSpan="4" 
     Background="White" 
     > 
    <StackPanel HorizontalAlignment="Center" 
       VerticalAlignment="Center" 
       Grid.Row="0" 
       > 
     <ProgressBar Margin="0,15,0,0" 
        IsIndeterminate="True" 
        IsEnabled="True" 
        Foreground="Black" 
        /> 
     <TextBlock Margin="6,6,6,15" 
        Foreground="Black" 
        FontSize="21" 
        TextWrapping="WrapWholeWords" 
        HorizontalAlignment="Center" 
        Text="Loading..." 
        /> 
    </StackPanel> 
</Grid> 
0

これを試してみてください...あなたは、親のStackPanelの水平に向きを設定する必要があります。

<StackPanel Grid.Row="0" Grid.RowSpan="4" Background="White" Visibility="Visible" Orientation="Horizontal"> 

       <StackPanel VerticalAlignment="Center" Grid.Row="0"> 
        <ProgressBar Margin="0,15,0,0" 
        IsIndeterminate="True" 
        IsEnabled="True" Foreground="Black"/> 
        <TextBlock Visibility="Visible" Margin="6,6,6,15" Foreground="Black" FontSize="21" TextWrapping="WrapWholeWords" HorizontalAlignment="Center" Text="Loading..."/> 
       </StackPanel> 
     </StackPanel> 
関連する問題