首页 文章

滚动查看器中的bing map问题

提问于
浏览
2

我有一个位于滚动查看器内的bing Map 以及一个列表框 .

现在问题是当滚动查看器的内容向下滚动时,“Bing Map 呈现在位于scrollviewer上方的其他元素之上(在scrollviewer的边界之外)”

<TextBlock Text="some text" />
<ScrollViewer>
    <map:Map ... />
    <ListBox ... />
</ScrollViewer>

怎么了?这是一个已知的bug吗?我正在尝试在搜索结果列表框中包含一个小 Map (与windows phone bing结果页面'本地'数据透视表项相同)

一些观察结果:(1)只有顶部 Map 平铺图像呈现在顶部(甚至不是图钉)(2)位于滚动查看器下方的元素(在xaml中)正确地呈现在 Map 之上!

谢谢

3 回答

  • 1

    只是不要将 Map 放在滚动查看器中 .

    这也可以防止在应用程序中滚动的问题 .

  • 0

    好吧,我终于找到了一个很好的解决方法,使它看起来很棒 . 这是诀窍:

    一 . 我们通过将以下行添加到page / usercontrol的构造函数来禁用bing map tile图像:

    map.Mode.Content.Visibility = System.Windows.Visibility.Collapsed;
    

    二 . 在 Map 控件之前,我们添加一个与 Map 控件具有相同宽度和高度的元素:

    <ScrollViewer>
        <Grid>
            <Image .../>
            <map:Map .../>
        </Grid>
        <ListBox ... />
    </ScrollViewer>
    

    三 . 现在我们为"Bing static map API"中的Image元素构建一个BitmapImage:http://msdn.microsoft.com/en-us/library/ff701724.aspx

    var url = "<bing static map api url for my location and zoom level - without any pushpin>";
    var uri = new Uri(url);
    imgStaticMap.Source = new BitmapImage(uri);
    

    这条路:

    • 我们将拥有相同的 Map (两者都是bing Map )

    • 静态 Map 在滚动条中正常显示

    • 它's even kinda better for this case, because this way there woul'在我们的小 Map 上是一个加载效果(虽然有不可避免的加载效果)

  • 1

    我将 JeffWilcox.Maps 组件用于类似目的 . 这个静态映射在ScrollViewer中运行良好 .

相关问题