Подтвердить что ты не робот

Элемент MapControl Xaml Отставание при перетаскивании карты

У меня есть приложение для работы с Windows-телефоном, где я показываю push-штырь на карте с помощью xaml.

<Maps:MapControl 
    Center="{Binding GeoPoint, Mode=OneWay}"
    Name="mapControl" 
    Height="270"
    MapServiceToken="token"
    ZoomLevel="1">
       <Ellipse
          Fill="Red" 
          Height="20" 
          Width="20" 
          Maps:MapControl.Location="{Binding GeoPoint, Mode=OneWay}"
          Maps:MapControl.NormalizedAnchorPoint="1, 0.5"/>
</Maps:MapControl>

Когда я перетаскиваю карту, есть некоторое отставание с элементом управления, пытающимся сохранить ту же позицию.

Любая помощь будет оценена.

Спасибо,

4b9b3361

Ответ 1

Если вы выполняете некоторую работу над CenterChanged или ZoomLevelChanged, тогда не делайте этого. Я расчитывал некоторые вещи в этих событиях, и это было showstopper. Вы должны получить гораздо более плавный опыт для пользователей с дросселированием (используя реактивные расширения) следующим образом:

Observable.FromEventPattern<object>(this.MyMap, "CenterChanged").Throttle(TimeSpan.FromSeconds(.25)).ObserveOnDispatcher().Subscribe(e => UpdateMap());
Observable.FromEventPattern<object>(this.MyMap, "ZoomLevelChanged").Throttle(TimeSpan.FromSeconds(.25)).ObserveOnDispatcher().Subscribe(e => UpdateMap());