c# - 如何将多个 (n) 多边形绑定(bind)到 Bing map 控件

标签 c# xaml windows-phone-7 bing-maps

我希望能够将 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/

相关文章:

c# - 我可以在 SQL 中使用什么作为内部标识符?

c# - ListView和AppBar的合作。最简单的多选场景

c# - Nsubstitute:如何在泛型类中创建一个假的

c# - 库,用于 C# 的控件,表示表格中的表格

wpf - 如何将 WPF TreeView HierarchicalDataTemplate 与 LINQ to Entities 一起使用?

wpf - 如何在 MaterialDesignInXamlToolkit 中添加个人图标?

visual-studio-2010 - 未找到 System.data.linq 命名空间

wpf - 将按钮的可见性绑定(bind)到两个文本框内容的最简洁方法

c# - Windows Phone 的 silverlight 中的文本换行问题

C# 动态函数 AmbigiousMatchException?