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


我想知道怎么做那样的东西。
发布于 2016-06-06 19:48:38
这不是一个新的页面,它只是地图顶部的某种面板(比如网格或StackPanel)。您可以通过将网格置于其他元素之上并相应地设置它的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动画。如果希望通过用户交互实现滑动,则应该处理ManipulationStarted/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;
}从这里开始,你可以开始构建更复杂的逻辑,比如你的面板上的一些锚点,或者非常漂亮的幻灯片/滑出动画。
https://stackoverflow.com/questions/37663907
复制相似问题