1
だから私は今、私は「」コントロールを形成し、私は次のコード要素のすべての子要素にアクセスできませんか?
int c = myMap.Children.Count;
for (int i = 0; i < c; i++)
{
if(myMap.Children.ElementAt(i) is Image)
{
var z = myMap.Children.ElementAt(i) as Image;
if(z.Name.Equals("a"))
{
myMap.Children.Remove(myMap.Children.ElementAt(i));
}
}
}
しかし、常にいくつかを使用してい要素名を削除したいこの
foreach (var res in results)
{
if (res.geometry.location != null)
{
var pushpin = new Image();
pushpin.Name = "a";
BasicGeoposition bs = new BasicGeoposition { Latitude = res.geometry.location.lat, Longitude = res.geometry.location.lng };
pushpin.Source = new BitmapImage(uri);
pushpin.Height = 50;
pushpin.Width = 50;
myMap.Children.Add(pushpin);
MapControl.SetLocation(pushpin, new Geopoint(bs));
}
}
のようなマップコントロールにいくつかの要素を追加してい要素は削除されません。たとえば、子の数は21になりますが、ループは10回だけループしています。 どうすればこの問題を解決できますか?
ループバックワード。要素1を削除すると、要素2は1になり、要素3は2になります。だから、あなたのループは元の2ではない要素2をテストします。 – GuidoG
正しいタグを使用してください。確かに、問題はすべての現在のタグに関連していません。 –