У меня есть следующий код:
ShowPoup();
if (_watcher == null)
{
_watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
_watcher.MovementThreshold = 15; // use MovementThreshold to ignore noise in the signal
_watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
}
if (!_watcher.TryStart(true, TimeSpan.FromSeconds(3)))
{
MessageBox.Show("Please turn on location services on device under Settings.");
//HidePopup();
}
Моя проблема в том, что всплывающее окно не появляется до тех пор, пока не вернется метод _watcher.TryStart (). Смысл всплывающего окна - показать наложение загрузки, чтобы сообщить пользователю, что приложение что-то делает. Бессмысленно показывать его после завершения работы, после чего я скрываю всплывающее окно, поэтому пользователь никогда ничего не видит.
У меня есть этот всплывающий код в приложении, и я впервые столкнулся с этой проблемой. Даже если я вызову ShowPopup () в отдельном методе перед вызовом текущего метода, он все равно не будет отображаться до запуска _watcher. Я не уверен, почему это происходит.