阻止应用程序栏向上滚动布局

时间:2014-04-28 10:45:20

标签: windows-phone-8

我正在构建一个带有ApplicationBar的Windows Phone 8应用程序,以保留应用程序的快捷方式和一些菜单选项。我在某处读到Height ApplicationBar为72px。所以我尝试了这段代码

<Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="72"></RowDefinition>
        </Grid.RowDefinitions>
        <ScrollViewer Grid.Row="0" Name="scrollViewer" Width="Auto" VerticalAlignment="Top" >
            <Grid x:Name="ContentPanel" Background="DarkSeaGreen">
                <TextBlock Name="tb" FontSize="100" TextWrapping="Wrap"
                       Text="Hello eveyone. Need some help with AppBar">
                </TextBlock>
        </Grid>
        </ScrollViewer>
</Grid>

我希望ApplicationBar适合Grid中提供的空间,而不是向上滚动我的布局。但是发生了什么事呢。 http://i.stack.imgur.com/cjEXD.png

ApplicationBar推高了布局,留下了空白。我希望防止这件事。我希望我的应用程序栏可见但它不应该向上滚动我的布局。如果您知道任何解决方案,请提供帮助。

由于

1 个答案:

答案 0 :(得分:0)

您可以通过将ApplicationBar的Opacity设置为值&lt;来实现此目的。然后它覆盖你的布局而不是推高它。在我看来Opacity="0.99"是个不错的选择。

但要小心:ApplicationBar的高度并不总是72px。例如,在1080p设备上它有所不同!

要确定应用栏的实际高度,您可以使用ApplicationBar.DefaultSizeApplicationBar.MiniSize

有关MSDN documentation

的更多信息