网格控件不能覆盖整个页面,并在顶部留下空格

时间:2015-11-14 14:57:32

标签: c# xaml windows-phone-8.1

我在xaml中定义了默认网格控件:

<Page
    x:Class="App.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid>

    </Grid>
</Page>

此网格不会从页面顶部开始,如下图所示:

enter image description here

实现此目的的一种方法是设置负边距:

<Page
    x:Class="App.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid Margin="0,-26.667,0,0">

    </Grid>
</Page>

所以在这张照片中会是这样的:

enter image description here

但是,我已经观看了一些Bob Tabor的视频,例如this one,并且所有默认控件都是从页面顶部开始的。

这里有什么问题,如何在不设置负边距的情况下解决问题?

1 个答案:

答案 0 :(得分:0)

状态栏是默认存在的。 您有两个选择:

  1. 隐藏它 - &gt; Hide Status bar in Windows Phone 8.1 Universal Apps

  2. 将您的内容置于其下:

  3. var applicationView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView(); applicationView.SetDesiredBoundsMode(Windows.UI.ViewManagement.ApplicationViewBoundsMode.UseCoreWindow);

    您可能希望阅读此内容以获取更多信息: http://blogs.msdn.com/b/amar/archive/2014/05/12/status-bar-in-windows-phone-8-1.aspx