【发布时间】:2021-11-29 19:44:42
【问题描述】:
我使用以下方法在我的 MapControl 上定义了 MapLayer:
<maps:MapControl x:Name=“MyMap”
[…]
Layers=“{x:Bind ViewModel.Layers}”>
我定义了一个 MapElementsLayer 并将其添加到我的 MapLayer。
我现在以编程方式创建元素并将它们添加到我的 MapElementsLayer。我的问题是,当我添加新元素或删除已经存在的元素时,它们不会在地图上绘制/清除。我能够让它们更新的唯一方法是删除地图图层,然后重新添加它。此过程是资源密集型的,并且每次都会暂停 UI 线程数秒。
是否有更新 MapLayer/MapElementsLayer 的内容并触发重绘?我已经搜索了文档,但找不到触发重绘的方法。
谢谢, 约翰
【问题讨论】:
-
请尝试使用ObservableCollection替换List。
-
谢谢!!我用 ObservableCollection 替换了列表,并使视图模型继承了 INotifyPropertyChanged 并且它现在可以工作了。