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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запретить загружаться контролам в TabControl 
V
    Опции темы
DenWPF
Дата 21.10.2010, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



У меня есть TabControl, в нем 3 TabItem в каждом из них лежит мой UserControl. Изначально виден только один, но загружаются все.
У меня в них происходит загрузка из базы, по этому занимает не сколько секунд.

Как решить эту проблему?

1. или запретить загружаться не видимым визуально объектам ( как это сделать я не знаю)
2. или запускать все в потоках, но тогда быстро взлетит нагрузка программы.

что посоветуете
PM MAIL   Вверх
WolfTheGrey
Дата 21.10.2010, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 21.1.2009
Где: forum.vingrad.ru

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



лучше первое.
но ни чего не нашел, как событие: GotFocus. Вызывается при получении элемента фокус 
PM MAIL   Вверх
DenWPF
Дата 21.10.2010, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



тут мне уже подсказали,  создать метод SetData который и будет подгружать инфу.

и поставить событие SelecetChange у TabControl у меня это выглядит так:

Код

string str = ((sender as TabControl).SelectedItem as TabItem).Tag.ToString();
            if (str == "Statistic")
            {
                if (((System.Windows.RoutedEventArgs)(e)).Source.ToString().IndexOf(str) == -1)
                    p_Statistic.UpdateTrainer();
            }
            else if (str == "Students")
            {
                if (((System.Windows.RoutedEventArgs)(e)).Source.ToString().IndexOf(str) == -1)
                    p_Students.UpdateStudentForTrainer();
            }


 if (((System.Windows.RoutedEventArgs)(e)).Source.ToString().IndexOf(str) == -1) - проверяется сейчас какая вкладка включена, если текущая, то не подгружать.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




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


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

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