Windows 10 Mobile API:在另一页面上创建页面

时间:2016-06-06 17:55:50

标签: windows-10 windows-10-mobile

我正在学习Windows 10移动应用程序开发。在地图应用程序中,在保留任何位置时,会出现一个新页面,可以向上滑动以显示有关固定位置的更多信息。截图: Screenshot 1 Screenshot 2

我想知道如何制作类似的东西。

1 个答案:

答案 0 :(得分:2)

这不是一个新页面,它只是地图顶部的某种面板(如Grid或StackPanel)。您可以通过将Grid放在其他元素上并相应地设置其TranslateY来实现它,如下所示:

<Grid x:Name="LayoutRoot">
    <maps:MapControl x:Name="Map"/>

    <Grid x:Name="Overlay" Background="Red">
        <Grid.RenderTransform>
            <CompositeTransform x:Name="OverlayTransform" TranslateY="300"/>
        </Grid.RenderTransform>
    </Grid>
</Grid>

然后,您可以根据需要为OverlayTransform.TranslateY设置动画。如果要通过用户交互实现滑动,则应处理Manipulation [Started / Delta / Completed]事件,例如:

<Grid x:Name="Overlay" Background="Red" ManipulationMode="TranslateY" ManipulationDelta="Overlay_OnManipulationDelta">

...


private void Overlay_OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs args)
{
    OverlayTransform.TranslateY += args.Delta.Translation.Y;
}

从那里你可以开始构建更复杂的逻辑,例如面板的一些锚点或漂亮的滑入/滑出动画。