Ich habe eine Karte Kontrolle mit MapsItemControl darin:„Die Artikel müssen leer sein, bevor Artikel Quelle“ beim Aktualisieren MapItemsControl.ItemsSource
<maps:Map x:Name="MyMap">
<maptk:MapExtensions.Children>
<maptk:MapItemsControl>
<maptk:MapItemsControl.ItemTemplate>
<DataTemplate>
. . .
</DataTemplate>
</maptk:MapItemsControl.ItemTemplate>
</maptk:MapItemsControl>
</maptk:MapExtensions.Children>
</maps:Map>
ich bevölkern die MapItemsControl
im Code die folgende Art und Weise:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.ItemsSource = myItemCollection;
Dies funktioniert ordnungsgemäß, wenn Elemente zum ersten Mal zur Karte hinzugefügt werden. Aber wenn ich es mit einer neuen soruce Artikel Sammlung aktualisieren mag, erhalte ich die folgende Fehlermeldung in itemCollection.ItemsSource = myItemCollection;
Zeile:
Items must be empty before using Items Source
So habe ich versucht, eine Linie zu meinem Code hinzufügen, um Elemente zu entfernen, bevor Sie die Quelle wieder, ohne Erfolg:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.Items.Clear();
itemCollection.ItemsSource = myItemCollection;
Jetzt erhalte ich die folowing Ausnahme in Zeile itemCollection.Items.Clear();
:
Collection is in non writeable mode
Wie kann ich die Elemente in denaktualisieren?
hilft Ihnen, Elemente manuell an einem gewissen Punkt hinzufügen? Mit 'itemCollection.Add (...)'? –
@KooKiz nein, bin ich nicht. – anderZubi