我有以下xaml
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<Frame Height="Auto" Width="200" Background="Green" />
</StackPanel>
<Pivot Grid.Row="1" Background="Red" Width="200" VerticalAlignment="Stretch" Title="Pivot Title">
<PivotItem Header="Blah">
<TextBlock Text="Pivot content"/>
</PivotItem>
</Pivot>
</Grid>
产生以下布局
问题是枢轴出现在我认为逻辑上应该出现的位置上方。枢轴应出现在中间标记下方,但它出现在它上方约27个像素处。我当然可以在枢轴上添加一个上边距以将其向下推,但我想先了解为什么它首先出现在那里。
答案 0 :(得分:2)
该问题的原因是Pivot
的垂直边距取决于状态栏的边界模式,因为Pivot
打算成为页面的唯一子元素。如果您的边界模式设置为UseVisible
并且您的状态栏可见,则数据透视的垂直边距将为负数(约-20,我认为)。因此,如果您将此代码添加到构造函数:
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
根本没有垂直边距,你会有预期的行为: