Windows Phone 7 - контролирует контент и асинхронный запрос - PullRequest
0 голосов
/ 04 сентября 2010

Я думаю, что это тривиально, но я не могу найти ответ :( У меня есть страница WP7, на которой размещены некоторые элементы управления, которые я хочу заполнить датой, считанной из веб-запроса. Веб-запрос выполняется с помощью:

        WebClient wr = new WebClient();
        wr.DownloadStringCompleted += new DownloadStringCompletedEventHandler(Event_DownloadStringCompleted);
        wr.DownloadStringAsync(new Uri(theURL));

и это вызывается в событии Page_Loaded. В Event_DownloadStringCompleted я пытаюсь присвоить новые значения TextBlocks, которые полностью игнорируют эту команду.

Что я делаю не так? Нужно ли искать другое событие для запуска веб-запроса? Или можно «обновить» страницу после завершения веб-запроса?

Спасибо

Ответы [ 3 ]

1 голос
/ 04 сентября 2010

Ваш Event_DownloadStringCompleted не вызывается в потоке пользовательского интерфейса, поэтому он не может обновить пользовательский интерфейс. Используйте Диспетчер, чтобы перезвонить в нужном потоке. например,

page.Dispatcher.BeginInvoke (делегат () {textBlock.Text = "done!";});

0 голосов
/ 14 сентября 2010

Существуют известные проблемы отображения / обновления, связанные с некоторыми драйверами дисплея, представленными в общедоступной бета-версии.В некоторых случаях известно, что это связано с адаптерами ATI.Некоторые люди сообщают об успешном завершении обновления драйвера.

Это может повлиять на результат обновления.

Также вы можете проверить, что ваш драйвер имеет минимальный размер DirectX10 и соответствует стандарту WDDM1.1 в соответствии с требованиями системы WPDT.Если нет, то обновите драйвер (снова), смените адаптер или обновите до Win7, если под управлением Vista решено несколько непонятных проблем.

Также, если у вас есть возможность, попробуйте запустить свой компьютер на другом ПК с другимконфигурации.

0 голосов
/ 05 сентября 2010

Возможно, вы захотите инициировать веб-запрос при вызове метода OnNavigatedTo () страницы, а не при запуске события Loaded страницы, хотя я не думаю, что это решит вашу проблему.

Вы уверены, что ваш обработчик события DownloadStringCompleted вызван? Если это так, для свойства Error объекта DownloadStringCompletedEventArgs задано ненулевое значение?

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