WebClient

#c# #windows-phone-7

#c# #windows-phone-7

Вопрос:

У меня проблема с WebClient. У меня есть текстовое поле (используемое для URL), затем кнопка отправки, которая вызывает TextBox.Текст, а затем выполняет работу с WebClient. Затем я хочу отобразить HTML в TextBlock.text, но он не отображается, если я не выполню быстрый ввод дважды или более.

         WebClient search_client = new WebClient();
        search_client.DownloadStringCompleted  = new DownloadStringCompletedEventHandler(search_client_DownloadStringCompleted);
        search_client.DownloadStringAsync(new System.Uri(URL));
  

Затем для DownloadStringCompletedEventHandler у меня есть if e.Error == null then do this.html = e.Result . Где html объявлено глобально в классе.

Я хочу убедиться, что WebClient завершил загрузку, чтобы он мог отобразить ее в текстовом блоке.

Ответ №1:

Когда DownloadStringCompleted запускается, загрузка уже завершена, поэтому вам не о чем беспокоиться с точки зрения ожидания завершения загрузки.

Если вы все организовали правильно, вам нужно щелкнуть только один раз и подождать. Асинхронный вызов вернет результат по завершении (что может занять некоторое время в зависимости от подключения к Интернету).

Ваше текстовое поле, отображающее HTML, привязано к html свойству или вы отображаете данные каким-либо другим способом?