Я создаю приложение, связанное с GPS, которое отображает координаты среди других расчетов.Мой демонстрационный код настроен так, чтобы вызывать события каждую секунду.
Всякий раз, когда я обновляю интерфейс главной страницы (скажем, текстовое поле с вычисленной широтой), он работает нормально.
Проблема в том,Я пытаюсь «пролистать» с одной стороны на другую сторону, чтобы изменить страницу.В процессе «щелчка», если текстовое поле должно было обновиться, оно возвращает главную страницу обратно в исходное состояние.
Трудно объяснить в тексте без видео.Но представьте, что вы удерживаете нажатие, и немного перетаскиваете панорамный экран - скажем, чтобы заглянуть на следующую страницу, но пока не переворачиваете.Что ж, если текстовое поле будет обновляться в течение этого времени, вы потеряете удержание щелчка мышью, и оно вернется на главную страницу.
Как только вы перейдете на следующую страницу, оно останетсяи я вижу обновление переполнения с предыдущей страницы.Ничего страшного там нет.Но он просто пытается перейти на следующую страницу.
Я новичок в WP7 / Silverlight, поэтому я пытался использовать Диспетчер, чтобы сделать вещи более отзывчивыми.Независимо от того, что я делаю (использую Диспетчер или нет), это всегда происходит.Итак, я предполагаю, что это связано с обновлением пользовательского интерфейса.
Небольшой код всегда помогает:
void GeoWatcher_PositionChanged(object sender,
GeoPositionChangedEventArgs<GeoCoordinate> e)
{
Deployment.Current.Dispatcher.BeginInvoke(() => MyPositionChanged(e));
}
void MyPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate> e)
{
var model = GeoProcessor.GetPosition(e.Position);
latitude.Text = model.Latitude;
longitude.Text = model.Longitude;
altitude.Text = model.Altitude;
accuracy.Text = model.Accuracy;
direction.Text = model.Direction;
speed.Text = model.Speed;
speedAvg.Text = model.SpeedAvg;
}
Когда обновляется любое из этих текстовых полей, экран «перепрыгивает» назадна главную страницу.Вид неудачного опыта.
Может, это нормально?Есть ли какое-то событие, чтобы узнать, что пользователь пытается "перейти" на следующую страницу?
Заранее спасибо.