2015-07-14 3 views
1

Я разрабатываю одно приложение для чата в телефоне Windows. Я использую метод Deployment.Current.Dispatcher.BeginInvoke для обновления пользовательского интерфейса, но во время использования Dispatcher.BeginInvoke экран ударит. Как решить этот или любой способ обновить интерфейс без застревания?Windows Phone .Deployment.Current.Dispatcher.BeginInvoke влияет на процесс

ответ

2

Если вы используете диспетчер, вы выполните данный код в потоке пользовательского интерфейса. И пока вы выполняете код в потоке пользовательского интерфейса, пользовательский интерфейс застревает. Нет никакого способа обойти это, поэтому вы должны обязательно выполнить только абсолютный минимальный объем кода в потоке пользовательского интерфейса. Общая схема состоит в том, чтобы извлекать/вычислять данные в фоновом потоке, а затем переключиться на пользовательский интерфейс только для обновления элементов управления. Класс BackgroundWorker является удобным помощником для достижения этого результата.

+0

спасибо kookiz, как использовать класс рабочего стола для вставки данных в изолированное хранилище, потому что я собираюсь вставлять много данных непрерывно .. – suresh