Windows Phone 8.1应用程序(标准)1080p布局模板中不需要的底部边距

时间:2014-05-24 12:37:24

标签: xaml layout windows-phone-8 windows-phone windows-phone-8.1

当我在8.1 1080模拟器上运行我的Windows Phone 8应用程序时,其所有页面上都有一个黑色下边距(有趣的是,当我在设计视图中查看任何这些页面时,它实际上不会出现)。

最初,我认为这可能是我自定义布局的PhoneApplicationPage的结果。所以,我决定创建一个新的PhoneApplicationPage而不做任何更改,即Visual Studio自动生成的Portrait PhoneApplicationPage。这是它的xaml:

<phone:PhoneApplicationPage
x:Class="App.Views._1080p"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True">

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Red">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <!--TitlePanel contains the name of the application and page title-->
    <StackPanel Grid.Row="0" Margin="12,17,0,0">
        <TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
        <TextBlock Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

    </Grid>
</Grid>

我所做的唯一更改是为网格添加红色背景属性,以便更好地突出显示问题。

我没有对代码隐藏进行任何更改。

不幸的是,问题仍然存在:

enter image description here

如果我向xaml添加App Bar,则问题会变得更加严重。

这是App Bar的xaml:

<!-- APP BAR -->
<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar 
        x:Name="appBar"
        IsVisible="True" 
        IsMenuEnabled="True" 
        Mode="Default" 
        Opacity="1" >
        <!-- APP BAR ICONS -->
        <shell:ApplicationBarIconButton 
            IconUri="a" 
            Text="Search"/>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

这就是它的样子:

enter image description here

知道发生了什么事吗?我需要改变什么才能解决这个问题?任何指导都将非常感谢。我应该添加在1080p设备上运行应用程序时发生的问题(即不仅是模拟器上的问题)。

1 个答案:

答案 0 :(得分:1)

以下是解释:在Windows Phone 8.1上,ApplicationBar的高度不再固定,它取决于设备的屏幕大小。为了不破坏现有的8.0应用程序布局,他们添加了黑条。

这个黑条的高度是12px(8.0 AppBar - 8.1 AppBar的高度)。

要删除它,您必须将应用程序迁移到Windows Phone 8.1。