Ho un controllo Mappa con MapsItemControl in esso:"Gli articoli devono essere vuoto prima di usare elementi di origine" durante l'aggiornamento 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>
Io popolo della MapItemsControl
nel codice seguente modo:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.ItemsSource = myItemCollection;
Questo funziona correttamente quando si aggiungono elementi alla mappa per la prima volta. Ma se voglio aggiornarlo con una nuova collezione voce laghetti L'alimento, ottengo il seguente errore nel itemCollection.ItemsSource = myItemCollection;
linea:
Items must be empty before using Items Source
Così, ho provato con l'aggiunta di una riga al mio codice, al fine di rimuovere gli elementi prima di impostare la fonte di nuovo, senza successo:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.Items.Clear();
itemCollection.ItemsSource = myItemCollection;
Ora ho l'eccezione folowing in linea itemCollection.Items.Clear();
:
Collection is in non writeable mode
Come posso aggiornare le voci del MapItemsControl
?
State aggiungendo elementi manualmente ad un certo punto? Usando 'itemCollection.Add (...)'? –
@KooKiz no, non lo sono. – anderZubi