我有一个带有 MapsItemControl 的地图控件:
<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>
MapItemsControl
我通过以下方式填充代码:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.ItemsSource = myItemCollection;
第一次将项目添加到地图时,这可以正常工作。但是,如果我想用新的 soruce 项目集合对其进行更新,则会出现以下错误itemCollection.ItemsSource = myItemCollection;
:
在使用项目源之前项目必须为空
因此,我尝试在代码中添加一行,以便在再次设置源之前删除项目,但没有成功:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.Items.Clear();
itemCollection.ItemsSource = myItemCollection;
现在我得到以下异常itemCollection.Items.Clear();
:
集合处于不可写模式
如何更新 中的项目MapItemsControl
?