在Windows 8中使用MaxWidth时,ScrollViewer无法居中内容

时间:2016-10-02 18:22:59

标签: windows-8.1 scrollviewer

我正在尝试为Windows 8应用程序创建登录页面。我希望它看起来像OneDrive的Windows 8版本,所以我试图将内容集中在ScrollViewer中。但是,当您使用' MaxWidth'时,控件似乎无法将其内容置于中心位置。属性。这是问题的一个例子。

<Page x:Class="App1.MainPage"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  mc:Ignorable="d"
  xmlns:local="using:App1"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="140"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <ScrollViewer Grid.Row="1">
        <StackPanel MaxWidth="900" Background="Red"/>
    </ScrollViewer>
</Grid>

如果您运行此选项,红色面板将显示在la-la land的右侧。如果将 ScrollViewer 替换为网格,您将看到内容应如何布局。 任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

解决方法:您可以使用边框围绕StackPanel,它将按照应有的方式居中。将MaxWidth保持在StackPanel上。