C# 我怎样才能清除Bing地图上的所有图钉,然后还能添加更多图钉?

C# 我怎样才能清除Bing地图上的所有图钉,然后还能添加更多图钉?,c#,bing-maps,children,C#,Bing Maps,Children,我可以在地图上添加一串图钉,然后添加更多,而不是添加更多(等等),但是如果我想“重新开始”并称之为: photraxMap.Children.Clear(); (photraxMap是我的Bing地图的名字),它确实清除了所有的图钉,但是随后添加图钉的尝试失败了 也就是说,它在视觉上失败了。通过代码,图钉被创建,它们只是不显示在地图上 每次添加图钉时,都会使用以下代码: private async void Gener8MapMarkers(IEnumerable<PhotraxBase

我可以在地图上添加一串图钉,然后添加更多,而不是添加更多(等等),但是如果我想“重新开始”并称之为:

photraxMap.Children.Clear();
(photraxMap是我的Bing地图的名字),它确实清除了所有的图钉,但是随后添加图钉的尝试失败了

也就是说,它在视觉上失败了。通过代码,图钉被创建,它们只是不显示在地图上

每次添加图钉时,都会使用以下代码:

private async void Gener8MapMarkers(IEnumerable<PhotraxBaseData> _pbd)
{
    MapLayer ml = new MapLayer();
    App.dynamicMapLayers.Add(ml);
    photraxMap.Children.Insert(0, ml);
      . . .
图钉确实消失了(但随后不允许添加任何可见的图钉)

更新2 不要问我为什么,但图钉确实会随着以下代码消失:

photraxMap.Children.Clear();
var ps = from p in photraxMap.Children
         select p;
var psa = ps.ToArray();
for (int i = 0; i < psa.Count(); i++)
{
    photraxMap.Children.Remove(psa[i]);
}
var ps=来自photraxMap.Children中的p
选择p;
var psa=ps.ToArray();
对于(int i=0;i
…这是我从一只猫那里得到的:

尽管…

这就是工作原理,但仍有一些东西阻止随后添加的图钉显示:

var mapLayerChildren = from c in DataLayer.Children select c;
var kinderGarten = mapLayerChildren.ToArray();
for (int i = 0; i < kinderGarten.Count(); i++)
{
    if (kinderGarten[i] is Pushpin)
    {
        DataLayer.Children.Remove(kinderGarten[i]);
    }
}
var mapLayerChildren=来自数据层中的c。子对象选择c;
var幼稚园=mapLayerChildren.ToArray();
for(int i=0;i<幼稚园.Count();i++)
{
if(幼儿园[i]为图钉)
{
数据层.Children.Remove(幼儿园[i]);
}
}
我认为数据层本身以前被破坏了;通过确保只移除图钉,它工作得很好

photraxMap.Children.Clear();
var ps = from p in photraxMap.Children
         select p;
var psa = ps.ToArray();
for (int i = 0; i < psa.Count(); i++)
{
    photraxMap.Children.Remove(psa[i]);
}
var mapLayerChildren = from c in DataLayer.Children select c;
var kinderGarten = mapLayerChildren.ToArray();
for (int i = 0; i < kinderGarten.Count(); i++)
{
    if (kinderGarten[i] is Pushpin)
    {
        DataLayer.Children.Remove(kinderGarten[i]);
    }
}