【问题标题】:Prevent Application Bar from scrolling up Layout防止应用程序栏向上滚动布局
【发布时间】:2014-04-28 10:45:20
【问题描述】:

我正在构建一个带有 ApplicationBar 的 windows phone 8 应用程序,以保留应用程序的快捷方式和一些菜单选项。我在某处读到HeightApplicationBar 是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 将 Layout 向上推,留下一个空白区域。我想阻止这件事。我希望我的应用程序栏可见,但它不应该向上滚动我的布局。如果您知道任何解决方案,请提供帮助。

谢谢

【问题讨论】:

    标签: windows-phone-8


    【解决方案1】:

    您可以通过将 ApplicationBar 的 Opacity 设置为 Opacity="0.99" 是一个不错的选择。

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

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

    更多信息请联系MSDN documentation

    【讨论】:

    • 哦,是的。我忘记了不透明度。谢谢:)
    • 嗨。有没有办法从代码中确定ApplicationBar 的高度
    • 是的,您可以通过代码获取ApplicationBar 的高度。我为此更新了我的答案。是的,这实际上也必须在模拟器中工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多