Я выполняю асинхронный веб-запрос на Windows Phone 7 и хочу, чтобы пользователь мог отменить запрос, если он занимает слишком много времени.Я показываю окно сообщения, вызывая:
IAsyncResult result = Guide.BeginShowMessageBox("Synchronize", "Synchronizing with MyWebsite.com...", new string[] { "Cancel" }, 0, MessageBoxIcon.None, OnEndDialog, null);
В обратном вызове OnEndDialog я могу отменить запрос, который работает нормально.
Но когда запрос завершен, я хочу закрыть окно сообщенияиз моего кода.К сожалению, когда я вызываю
Guide.EndShowMessageBox(result);
из своего кода (да, я использую dispatcher.BeginInvoke для запуска вызова в потоке пользовательского интерфейса), это оказывается блокирующим вызовом, и диалог все еще ждетпользователю нажать кнопку Отмена.
Есть ли способ закрыть окно сообщения из кода?