1

我创建了一个 UWP 解决方案并创建了一个按钮。按钮没有问题。

我不知道如何在窗口中居中按钮。


代码

        StackPanel stackPanel1 = new StackPanel();

        Button TestButton = new Button();
        TestButton.Content = "Test";

        stackPanel1.Children.Add(subscribeButton);
  
        Window.Current.Content = stackPanel1;
4

4 回答 4

1

这条线就是你所需要的。

TestButton.HorizontalAlignment = HorizontalAlignment.Center;
于 2020-10-25T23:32:16.303 回答
0

将按钮的位置更改为表单宽度和高度的一半将起作用。

Point point = new Point(this.Width / 2 - (button1.Width/2), this.Height / 2 - (button1.Height/ 2)); 
button1.Location = point;

添加- (button1.Width/2)是因为按钮的位置基于按钮的右上角,而不是实际上的中心。

于 2020-10-25T18:37:07.317 回答
0

您可以在堆栈面板中设置HorizontalAlignment类似的内容...

<StackPanel Margin="10,0,0,0" Orientation="Horizontal" Grid.Column="0">
<TextBlock Grid.Column="1" Grid.Row="0" FontSize="16" HorizontalAlignment="Center">2. Draw a pattern</TextBlock>
                <Button x:Name="DeleteSiteButton" Content="Delete Site" 
                        HorizontalAlignment="Right" Margin="0,0,0,0" VerticalAlignment="Top" Click="DeleteSiteButton_Click"/>
                <Button x:Name="AddSiteButton" Content="Add Site" HorizontalAlignment="Right"
                    Margin="10,0,0,0" VerticalAlignment="Top" Click="AddSiteButton_Click"/>
            </StackPanel>
于 2020-10-25T18:41:56.803 回答
0

StackPanel控件将子元素排列成可以水平或垂直定向的单行。当Orientation属性设置为Vertical(默认值为Vertical)时,VerticalAlignment按钮控件的属性将无效。同样,当Orientation属性设置为时Horizontal,按钮控件的HorizontalAlignment属性将无效。

如果将按钮控件添加到 aStackPanel中,按钮控件的 HorizontalAlignment属性和VerticalAlignment属性将无法同时起作用,即按钮控件不能居中在 a 中StackPanel

我们建议您可以将按钮控件添加到Grid面板中,如下所示:

Grid gridPanel1 = new Grid();

Button TestButton = new Button();
TestButton.Content = "Test";
TestButton.HorizontalAlignment = HorizontalAlignment.Center;
TestButton.VerticalAlignment = VerticalAlignment.Center;

gridPanel1.Children.Add(TestButton);

Window.Current.Content = gridPanel1;
于 2020-10-26T06:40:17.807 回答