Центрирование RelativePanels в UWP C#
Я пытаюсь установить для HorizontalAlignment и VerticalAlignment значение Center, чтобы панель RelativePanel находилась прямо в центре приложения UWP. Внутри RelativePanel есть дочерние элементы, и предполагается, что дочерние элементы находятся в центре RelativePanel. Это должно выглядеть так: Как вы можете видеть, 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>
Вот как это выглядит при отладке:
Я что-то здесь не так делаю? Я использую RelativePanel вместо StackPanel, потому что мне нужно, чтобы два ребенка лежали друг над другом.
1 ответ
Добавлять RelativePanel.AlignHorizontalCenterWithPanel="True"
на ваш TextBlock
а также TextBox
,
<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"
на всех своих детей.