我希望能够将 LocationCollection 实例的集合绑定(bind)到 WP7 (Silverlight) 中的 Bing map 控件。我可以使用以下 XAML 绑定(bind)多边形的单个实例:
<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 属性绑定(bind)了单个 LocationCollection。我希望能够将 ObservableCollection 绑定(bind)到 MapLayer,这样我就可以根据需要绘制尽可能多的多边形。
我可以在代码(代码隐藏)中执行此操作,但我更愿意在 XAML 中声明它,这可能吗?
最佳答案
只需使用 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>
关于c# - 如何将多个 (n) 多边形绑定(bind)到 Bing map 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874217/