在UWP C#中居中相对面板

时间:2017-08-13 05:29:51

标签: c# xaml uwp uwp-xaml relativepanel

我正在尝试将Horizo​​ntalAlignment和VerticalAlignment设置为Center,以便RelativePanel位于UWP应用程序的中间。 RelativePanel中有子项,子项应位于内部 RelativePanel中。它应该看起来像:enter image description here正如您所看到的,RelativePanel位于中间,而子项在彼此之上居中。我试过这个XAML代码:

<RelativePanel x:Name="relativePanel1" HorizontalAlignment="Center" VerticalAlignment="Center">
    <TextBlock x:Name="textBlock1" Text="Yo, waddup? Enter your GUID to continue" IsTextSelectionEnabled="True" FontFamily="Chiller" FontSize="72" HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBox x:Name="textBox1" AcceptsReturn="True" HorizontalAlignment="Center" InputScope="Text" PlaceholderText="{}{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" RelativePanel.Below="textBlock1" VerticalAlignment="Center" />
</RelativePanel>

以下是调试时的样子:

enter image description here我在这里做错了吗?我正在使用RelativePanel而不是StackPanel,因为我需要两个孩子在彼此之上。

1 个答案:

答案 0 :(得分:2)

RelativePanel.AlignHorizontalCenterWithPanel="True"添加到您的TextBlockTextBox

<RelativePanel x:Name="relativePanel1"
               HorizontalAlignment="Center"
               VerticalAlignment="Center">
    <TextBlock x:Name="textBlock1"
               RelativePanel.AlignHorizontalCenterWithPanel="True"
               Text="Yo, waddup? Enter your GUID to continue"
               IsTextSelectionEnabled="True"
               FontFamily="Chiller"
               FontSize="72" />
    <TextBox x:Name="textBox1"
             RelativePanel.AlignHorizontalCenterWithPanel="True"
             AcceptsReturn="True"
             InputScope="Text"
             PlaceholderText="{}{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"
             RelativePanel.Below="textBlock1" />
</RelativePanel>

但可能还有更多。您的RelativePanel清楚地看起来顶部对齐给我。这意味着其父面板不是拉伸。此外,如果只进行居中,则不必在此使用RelativePanel。您可以使用StackPanel替换它,并在其所有子项上手动设置HorizontalAlignment="Center"