Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление изменение контролов в Silverlight 
V
    Опции темы
opto
Дата 8.5.2008, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.5.2008

Репутация: 1
Всего: 1



Здравствуйте.
В методе обработки какого-либо события происходит изменение дочерних контролов. Необходимо, чтобы обновление этих изменений произошло до окончания этого метода.

Код

class MyControl : UserControl
{
...
    protected void EventHandlerMethod(object sender, EventArgs e)
    {
        ChangeChildrenControls();
        // I need to refresh of children controls changes occur here.
        System.Threading.Thread.Sleep(5000);
    }
...
}

PM MAIL   Вверх
-Mikle-
Дата 9.5.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



Я новичек в WPF, и потому мне тоже интересно для будущего опыта...
В WinForms раньше был Application.DoEvents(), щас его нет и не может быть .......   Не проверял, но может быть InvalidateProperty(...) и/или InvalidateVisual() помогут?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Kefir
Дата 9.5.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Вообще, упрощённо говоря, в WPF есть фаза "логическая" и "графическая". они чередуются. таким образом, внутри методов обновить графику вряд ли получится, потому как, пока он исполняется, графика не обновляется. По сути, таких ситуаций как у тебя быть не должно, точнее, этих ситуаций надо избегать, при помощи, к примеру, эвентов.
В WPF не существует (официального) аналога Application.DoEvents, однако, почитай следующую тему, созданную когда-то мной:
http://forum.vingrad.ru/forum/topic-189977...ents/index.html
ситуация схожа, однако, замечу, что это не решение проблемы, а обводка WPF вокруг пальца. 
PM MAIL WWW Skype   Вверх
opto
Дата 10.5.2008, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.5.2008

Репутация: 1
Всего: 1



Mikle-, Kefir, спасибо.
Kefir, ссылка пригодилась. Как раз надо было показать сообщение о загрузке (генерация поля для игры) smile
PM MAIL   Вверх
opto
Дата 11.5.2008, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.5.2008

Репутация: 1
Всего: 1



Еще вопрос (по Silverlight):
Написал следующий ниже метод, который должен показать сообщение о загрузке, начать загрузку и закрыть сообщение по окончании. В обработке события UserControl.Loaded этот метод работает как надо, а в обработке события Button.Click - сообщение появляется в самом конце и сразу исчезает. Видимо чего то не хватает, что вызывается после обработки события UserControl.Loaded. Чего?

Код

void NewGame()
{
            ShowMessageBox();

            new Thread(
                delegate()
                {
                    this.Dispatcher.BeginInvoke(
                        delegate()
                        {
                            ChangeChildrenControls();
                            HideMessageBox();
                        }
                    );
                }
            ).Start();
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.