我正在使用bing map wpf控件。
我添加了一些这样的多边形:
polygon.Locations = DrawACircle(oLoc, dRadius);
polygon.Tag = "Circle";
MyMapUserControl.MyMap.Children.Add(polygon);
这样,我的多边形就能正确显示。
现在,我想删除这个多边形(我可以有几个多边形,这就是我使用标签的原因:“Circle”),我试过这个:
var polygonToDelete = MyMapUserControl.MyMap
.Children
.OfType<MapPolygon>()
.Where(p => ((MapPolygon)p).Tag == "Circle");
MyMapUserControl.MyMap.Children.Remove((UIElement)polygonToDelete);
我有一个抛出错误的例外。
有人请帮帮我吗?
致以最诚挚的问候,
答案 0 :(得分:1)
在调用remove方法之前,使用断点检查来查看polygonToDelete对象的值。它是单个形状还是形状集合?我怀疑它是一组形状,你需要抓住第一个,或者将你的对象转换为List并遍历每个项目并将其从地图中删除。
尝试这样的事情:
var polygonToDelete = MyMap.Children.OfType<MapPolygon>()
.Where(p => ((MapPolygon)p).Tag == "Circle").ToList();
foreach (var p in polygonToDelete)
{
MyMap.Children.Remove(p);
}