在WP8设备上运行时,WP7应用程序页面上出现意外的上边距/填充/间隙

时间:2014-03-12 09:21:10

标签: xaml visual-studio-2012 windows-phone

我在Windows Phone 8设备(HTC Windows Phone 8X,某些产品展示位置)上运行专为Windows Phone 7设计的应用程序(我的第一个)时出现问题。

在模拟器(WP7)中进行调试时,一切都很好,但是一旦我在设备上测试驱动应用程序(WP8),每页顶部就会出现一个神秘的空白。

An example...(显然我无法发布图片)

我没有为任何页面或控件设置/更改任何边距/填充属性。

<phone:PhoneApplicationPage
    x:Class="MyProject.SettingsPage"
    xmlns:Controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls" 
    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">

    <Grid x:Name="LayoutRoot">
        <Controls:Pivot Title="SETTINGS">
            <Controls:PivotItem Header="general">
                ...
            </Controls:PivotItem>
        </Controls:Pivot>
    </Grid>
</phone:PhoneApplicationPage>

知道为什么会发生这种情况以及如何解决这个问题?这是一个XAML问题吗?我应该单独定位WP7和WP8吗?

1 个答案:

答案 0 :(得分:2)

这是所有预期的行为,这是因为Windows Phone 7仅支持480x800的分辨率。有些Windows Phone 8手机会有与此相同的宽高比,顶部没有任何条形,但有些像HTC 8X那样没有,所以它会在那里得到一个黑条。这些都在documentation中描述。

解决方案是将应用程序转换为WP8应用程序,顶部的黑条将消失。但该应用程序将不再与WP7兼容。