当我在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>
我所做的唯一更改是为网格添加红色背景属性,以便更好地突出显示问题。
我没有对代码隐藏进行任何更改。
不幸的是,问题仍然存在:
如果我向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>
这就是它的样子:
知道发生了什么事吗?我需要改变什么才能解决这个问题?任何指导都将非常感谢。我应该添加在1080p设备上运行应用程序时发生的问题(即不仅是模拟器上的问题)。
答案 0 :(得分:1)
以下是解释:在Windows Phone 8.1上,ApplicationBar的高度不再固定,它取决于设备的屏幕大小。为了不破坏现有的8.0应用程序布局,他们添加了黑条。
这个黑条的高度是12px(8.0 AppBar - 8.1 AppBar的高度)。
要删除它,您必须将应用程序迁移到Windows Phone 8.1。