WP7 всплывающее окно отображается до thread.sleep, но не появляется до - PullRequest
0 голосов
/ 22 декабря 2010

В настоящее время я использую Thread.Sleep (2500) для имитации сетевого вызова в ложном слое, пока мы не сможем подключиться к веб-службам.Я создал всплывающее окно с индикатором выполнения (да, я использую индикатор выполнения Джеффа Уилкокса) на основе этого примера , и получил всплывающее окно для успешного отображения.Тем не менее, я сталкиваюсь с проблемой, когда всплывающее окно не загружается, когда я вызываю его после использования Thread.Sleep ().Индикатор выполнения не появляется, пока не вернется Thread.Sleep ().Я пытаюсь заставить это работать для предстоящей демонстрации, поэтому я хотел бы выяснить, как заставить его работать с Thread.Sleep (), вместо того, чтобы ждать службы и надеяться, что он работает там.

1 Ответ

4 голосов
/ 22 декабря 2010

Ваш Thread.Sleep спит поток пользовательского интерфейса, который препятствует отображению всплывающего окна, пока ваш метод не вернется. Вам нужно либо использовать класс DispatcherTimer, чтобы получить обратный вызов в потоке пользовательского интерфейса после истечения некоторого TimeSpan, либо создать новый поток, который выполняет спящий режим.

Это хороший урок, когда у вас есть сетевые операции: не блокируйте поток пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...