背景:
我是 Silverlight/Windows 手机的新手。
我想创建类似诺基亚地图(windows phone 8 版本)的东西。在诺基亚地图中,当你点击搜索,得到搜索结果时,页面被分成两部分,上面是地图,下面是结果,你可以用手指在地图和结果之间滚动.
我最初的解决方案是:制作一个有 2 行的网格,并动态更改(使用带有样条移动的 DoubleAnimation)网格行的高度。例如,显示地图时,最下面一行的高度会缩小,而当最下面一行显示时,地图的高度就会缩小。
然而我很快发现这可能不是诺基亚地图的实现方式。例如,如果我在顶行制作地图,并且当顶行的高度缩小时,地图的位置仍然在中心附近(它移动但速度比缩小行的速度慢),这意味着地图本身并不像诺基亚地图那样“向上滚动”。更重要的是,如果地图上有一个Popup(如诺基亚地图中的当前位置按钮),Popup 也不会卷起。
嗯,理论上,上面还是可以通过强制map来解决的,而且Popup也会在网格行高变化的过程中向上滚动。但是经过一番对比和观察,我觉得诺基亚地图的上下移动就像一个全景图,垂直画布更大,你只需要显示画布的顶部或底部即可。
这让我很好奇如何实现像垂直全景图这样的东西。
我的问题,
- 在您看来,诺基亚地图可能是如何实现的?还有其他更简单的方法吗?
- 是否可以将现有的全景控件自定义为垂直全景?
- 如果我必须实现自己的,如何实现?我目前的想法是制作一个大画布并自己绘制所有内容?水平会不会太低?有没有什么好的方法可以用垂直行为重新实现全景图?
非常感谢。