我正在使用Bing Maps控件展示一系列自定义的推针,这些推针代表着不断移动和变化状态的对象。
使用数据绑定,各个对象的属性被正确地更新,但是它们的位置却没有被更新。
我将地图绑定到ObservableCollection上,如下所示:
使用数据绑定,各个对象的属性被正确地更新,但是它们的位置却没有被更新。
我将地图绑定到ObservableCollection上,如下所示:
<UserControl.Resources>
<DataTemplate x:Key="PushpinTemplate">
<v:CustomPushpin />
</DataTemplate>
</UserControl.Resources>
...
<m:Map Name="map">
<m:MapItemsControl ItemTemplate="{StaticResource PushpinTemplate}" ItemsSource="{Binding Objects}" />
</m:Map>
...并且在CustomPushpin中:
<UserControl
...
m:MapLayer.Position="{Binding Location}" m:MapLayer.PositionOrigin="BottomCenter"
mc:Ignorable="d" d:DesignHeight="126" d:DesignWidth="85">
和其他属性一样,单个对象的位置使用INotifyPropertyChanged实现。
private Location _location;
public Location Location
{
get { return _location; }
set { _location = value; OnPropertyChanged("Location"); }
}
当地图移动时,由于平移或缩放,对象会移动,但其他部分不会。
我不确定我在这里是否做错了什么,或者这是Bing Maps控件的问题。
有什么想法吗?