Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用一列填充窗口_C#_Windows_Xaml_Win Universal App - Fatal编程技术网

C# 用一列填充窗口

C# 用一列填充窗口,c#,windows,xaml,win-universal-app,C#,Windows,Xaml,Win Universal App,我有一个问题,这似乎微不足道,但让我头痛。在一个UWP应用程序上工作,我正在设计一个帐户屏幕。 显然,我希望它居中,让背景填充窗口,而不管窗口大小。下面是我目前的代码 <Grid Background="#FFECF0F1" x:Name="RootGrid"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height

我有一个问题,这似乎微不足道,但让我头痛。在一个UWP应用程序上工作,我正在设计一个帐户屏幕。 显然,我希望它居中,让背景填充窗口,而不管窗口大小。下面是我目前的代码

  <Grid Background="#FFECF0F1" x:Name="RootGrid">
    <Grid.RowDefinitions>
        <RowDefinition  Height="Auto"/>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition x:Name="FirstColumn" Width="*"/>
        <ColumnDefinition x:Name="SecondColumn" Width="Auto" />
        <ColumnDefinition x:Name="ThirdColumn" Width="*" />
    </Grid.ColumnDefinitions>

    <StackPanel  Orientation="Vertical" Grid.Column="1">
        <RelativePanel Grid.Column="1" x:Name="UserInfoPanel" HorizontalAlignment="Stretch" BorderBrush="Black"  BorderThickness="0,0,0,1" Visibility="Collapsed">
            <Ellipse Stroke="Black" StrokeThickness="3" HorizontalAlignment="Left" Height="100" VerticalAlignment="Center" Width="100" Margin="25" >
                <Ellipse.Fill>
                    <ImageBrush x:Name="accountImage" />
                </Ellipse.Fill>
            </Ellipse>
            <TextBlock x:Name="displayUserName"  RelativePanel.AlignHorizontalCenterWithPanel="True" Margin="0,10,0,0" TextWrapping="Wrap" FontSize="24" Text="User Name" VerticalAlignment="Top" />
            <Button x:Name="signOutButton"  Click="signOutButton_Click" Content="Sign Out" Margin="0,0,10,10" RelativePanel.AlignRightWithPanel="True" RelativePanel.AlignBottomWithPanel="True" VerticalAlignment="Bottom" Width="131"/>
        </RelativePanel>
        <StackPanel Orientation="Vertical" Grid.Column="1">
            <TextBlock  x:Name="signInText" Text="Not Currently Signed In " FontSize="20" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,10,0,0"  />
            <Button x:Name="signInButton" Content="Sign In" HorizontalAlignment="Center" VerticalAlignment="Bottom" Click="signInButton_Click" Margin="0,10,0,0" Width="66"/>
        </StackPanel>
        <StackPanel x:Name="BioPanel" Orientation="Vertical" Grid.Column="1" Margin="10,0"  Width="500" Visibility="Collapsed">
            <TextBlock x:Name="preferedCar" HorizontalAlignment="Left" TextWrapping="Wrap" Text="Preferred Car:"  Margin="0,20,0,0"/>
            <ComboBox x:Name="dropDownCar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  />
            <TextBlock x:Name="bestScore" TextWrapping="Wrap" Text="Best Score: 6.9" Margin="0,20,0,0" />
            <TextBlock x:Name="drivingTime" TextWrapping="Wrap" Text="Time Driving with FuelE.co: 32 Hours" Margin="0,20,0,0"  />
            <TextBox x:Name="bio" TextWrapping="Wrap" Text="Your Bio" Height="236" Margin="0,20,0,0"  />
        </StackPanel>
    </StackPanel>
</Grid>
也许有什么我必须做的框架,让它填补屏幕


再次感谢

根据您所展示的内容,您不需要所有这些行和列

试着这样做:

<Grid Name="LayoutRoot" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Yellow">
    <StackPanel HorizontalAlignment="Center" Background="Gray">
        <TextBlock Text="illegitimi non carborundum" Margin="0,10"/>
        <TextBlock Text="illegitimi non carborundum" Margin="0,10"/>
        <TextBlock Text="illegitimi non carborundum" Margin="0,10"/>
    </StackPanel>
</Grid>
<Grid Background="#FFECF0F1" x:Name="RootGrid">
    <StackPanel HorizontalAlignment="Center">
        <RelativePanel Grid.Column="1" x:Name="UserInfoPanel" HorizontalAlignment="Stretch" BorderBrush="Black"  BorderThickness="0,0,0,1" Visibility="Collapsed">
            <Ellipse Stroke="Black" StrokeThickness="3" HorizontalAlignment="Left" Height="100" VerticalAlignment="Center" Width="100" Margin="25" >
                <Ellipse.Fill>
                    <ImageBrush x:Name="accountImage" />
                </Ellipse.Fill>
            </Ellipse>
            <TextBlock x:Name="displayUserName"  RelativePanel.AlignHorizontalCenterWithPanel="True" Margin="0,10,0,0" TextWrapping="Wrap" FontSize="24" Text="User Name" VerticalAlignment="Top" />
            <Button x:Name="signOutButton"  Click="signOutButton_Click" Content="Sign Out" Margin="0,0,10,10" RelativePanel.AlignRightWithPanel="True" RelativePanel.AlignBottomWithPanel="True" VerticalAlignment="Bottom" Width="131"/>
        </RelativePanel>
        <StackPanel Orientation="Vertical" Grid.Column="1">
            <TextBlock  x:Name="signInText" Text="Not Currently Signed In " FontSize="20" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,10,0,0"  />
            <Button x:Name="signInButton" Content="Sign In" HorizontalAlignment="Center" VerticalAlignment="Bottom" Click="signInButton_Click" Margin="0,10,0,0" Width="66"/>
        </StackPanel>
        <StackPanel x:Name="BioPanel" Orientation="Vertical" Grid.Column="1" Margin="10,0"  Width="500" Visibility="Collapsed">
            <TextBlock x:Name="preferedCar" HorizontalAlignment="Left" TextWrapping="Wrap" Text="Preferred Car:"  Margin="0,20,0,0"/>
            <ComboBox x:Name="dropDownCar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  />
            <TextBlock x:Name="bestScore" TextWrapping="Wrap" Text="Best Score: 6.9" Margin="0,20,0,0" />
            <TextBlock x:Name="drivingTime" TextWrapping="Wrap" Text="Time Driving with FuelE.co: 32 Hours" Margin="0,20,0,0"  />
            <TextBox x:Name="bio" TextWrapping="Wrap" Text="Your Bio" Height="236" Margin="0,20,0,0"  />
        </StackPanel>
    </StackPanel>
</Grid>

其中:

您的代码可能如下所示:

<Grid Name="LayoutRoot" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Yellow">
    <StackPanel HorizontalAlignment="Center" Background="Gray">
        <TextBlock Text="illegitimi non carborundum" Margin="0,10"/>
        <TextBlock Text="illegitimi non carborundum" Margin="0,10"/>
        <TextBlock Text="illegitimi non carborundum" Margin="0,10"/>
    </StackPanel>
</Grid>
<Grid Background="#FFECF0F1" x:Name="RootGrid">
    <StackPanel HorizontalAlignment="Center">
        <RelativePanel Grid.Column="1" x:Name="UserInfoPanel" HorizontalAlignment="Stretch" BorderBrush="Black"  BorderThickness="0,0,0,1" Visibility="Collapsed">
            <Ellipse Stroke="Black" StrokeThickness="3" HorizontalAlignment="Left" Height="100" VerticalAlignment="Center" Width="100" Margin="25" >
                <Ellipse.Fill>
                    <ImageBrush x:Name="accountImage" />
                </Ellipse.Fill>
            </Ellipse>
            <TextBlock x:Name="displayUserName"  RelativePanel.AlignHorizontalCenterWithPanel="True" Margin="0,10,0,0" TextWrapping="Wrap" FontSize="24" Text="User Name" VerticalAlignment="Top" />
            <Button x:Name="signOutButton"  Click="signOutButton_Click" Content="Sign Out" Margin="0,0,10,10" RelativePanel.AlignRightWithPanel="True" RelativePanel.AlignBottomWithPanel="True" VerticalAlignment="Bottom" Width="131"/>
        </RelativePanel>
        <StackPanel Orientation="Vertical" Grid.Column="1">
            <TextBlock  x:Name="signInText" Text="Not Currently Signed In " FontSize="20" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,10,0,0"  />
            <Button x:Name="signInButton" Content="Sign In" HorizontalAlignment="Center" VerticalAlignment="Bottom" Click="signInButton_Click" Margin="0,10,0,0" Width="66"/>
        </StackPanel>
        <StackPanel x:Name="BioPanel" Orientation="Vertical" Grid.Column="1" Margin="10,0"  Width="500" Visibility="Collapsed">
            <TextBlock x:Name="preferedCar" HorizontalAlignment="Left" TextWrapping="Wrap" Text="Preferred Car:"  Margin="0,20,0,0"/>
            <ComboBox x:Name="dropDownCar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  />
            <TextBlock x:Name="bestScore" TextWrapping="Wrap" Text="Best Score: 6.9" Margin="0,20,0,0" />
            <TextBlock x:Name="drivingTime" TextWrapping="Wrap" Text="Time Driving with FuelE.co: 32 Hours" Margin="0,20,0,0"  />
            <TextBox x:Name="bio" TextWrapping="Wrap" Text="Your Bio" Height="236" Margin="0,20,0,0"  />
        </StackPanel>
    </StackPanel>
</Grid>

编辑以帮助调试:

我打开了所有面板,它们都按照我的预期对齐


如果这对您不起作用,那么您可能没有显示所有代码,或者您需要调试并打开/关闭一些东西,返回到一个简单的设计,从那里开始工作并构建,等等。

我尝试了这个方法,但得到了相同的结果。我在其他页面上使用了相同的风格,但在这一页上没有,不知道为什么它没有延伸。我在上面的问题中包含了更多的评论,也许框架就是问题所在,我猜不到。调试。将您的帐户页面更改为一个带有背景色的简单网格或堆栈面板,以测试它是否如您所期望的那样工作。一个接一个地添加你的真实内容,看看它是否/何时中断。