Tôi có một điều khiển Map với MapsItemControl trong đó:"Items phải trống trước khi sử dụng mục Source" khi cập nhật 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>
tôi cư MapItemsControl
trong mã theo cách sau:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.ItemsSource = myItemCollection;
Điều này hoạt động chính xác khi thêm các mục vào bản đồ lần đầu tiên. Nhưng nếu tôi muốn cập nhật nó với một bộ sưu tập item soruce mới, tôi nhận được lỗi sau trong itemCollection.ItemsSource = myItemCollection;
dòng:
Items must be empty before using Items Source
Vì vậy, tôi đã cố gắng bằng cách thêm một dòng vào mã của tôi, để loại bỏ các mục trước khi thiết lập nguồn một lần nữa, không có thành công:
var itemCollection = MapExtensions.GetChildren((Map)MyMap).OfType<MapItemsControl>().FirstOrDefault();
itemCollection.Items.Clear();
itemCollection.ItemsSource = myItemCollection;
Bây giờ tôi có được ngoại lệ folowing phù itemCollection.Items.Clear();
:
Collection is in non writeable mode
Làm thế nào tôi có thể cập nhật các mục trong MapItemsControl
?
Bạn có thêm các mục bằng tay tại một số điểm? Bằng cách sử dụng 'itemCollection.Add (...)'? –
@KooKiz không, tôi không có. – anderZubi