如何将多个(n)多边形绑定到Bing Map控件

本文关键字:绑定 多边形 Bing 控件 Map | 更新日期: 2023-09-27 18:12:05

我希望能够在WP7 (Silverlight)中将LocationCollection实例集合绑定到Bing Maps控件。我能够使用以下XAML绑定多边形的单个实例:

<Microsoft_Phone_Controls_Maps:MapLayer.Children>
    <Microsoft_Phone_Controls_Maps:MapPolygon Locations="{Binding Polygon}"
                                                          Fill="{StaticResource PolygonFillBrush}"
                                                           Stroke="{StaticResource PolygonStrokeBrush}"
                                                           StrokeThickness="4"
                                                           Opacity="1">
    </Microsoft_Phone_Controls_Maps:MapPolygon>
</Microsoft_Phone_Controls_Maps:MapLayer.Children>

在ViewModel上使用Polygon属性绑定了一个LocationCollection。我希望能够绑定一个ObservableCollection到MapLayer,这样我就可以画出尽可能多的多边形。

我可以在代码中做到这一点(代码隐藏),但我更愿意在XAML中声明这一点,这是可能的吗?

如何将多个(n)多边形绑定到Bing Map控件

简单地使用MapItemsControl(在本例中,xmlns:maps = Microsoft_Phone_Controls_Maps)

<maps:MapItemsControl ItemsSource="{Binding Polygons}">
    <maps:MapItemsControl.ItemTemplate>
        <DataTemplate>
            <maps:MapPolygon Locations="{Binding Polygon}"
                             Fill="{StaticResource PolygonFillBrush}"
                             Stroke="{StaticResource PolygonStrokeBrush}"
                             StrokeThickness="4"
                             Opacity="1" />
        </DataTemplate>
    </maps:MapItemsControl.ItemTemplate>
</maps:MapItemsControl>