none
ItemsSource={Binding...} VS Items.Add(...) RRS feed

  • Вопрос

  • WPF. Есть коллекция классов и необходимость их красиво визуализировать в элементе ListBox. По теории мы делаем привязку ItemsSource к коллекции и задаем DataTemplate для определения внешнего вида каждого элемента коллекции.

    Но вот какая проблема - если сделать как я описал выше то ListBox не плохо тормозит первых несколько секунд или первых 2-3 прокрутки вверх и вниз. При этом коллекция всего из 150 объектов а все возможные ускорители активированы (VirtualizingStackPanel и т.д.).

    Мало того, если отказать от дататемплейт и программно задать внешний вид в классе объекта, то мы получаем такой же эффект, НО если коллекцию наполнять не через привязку а программным Items.Add то все работает идеально. Ни тормозов, не подвисаний.

    Что это может быть? Может я упустил какую то мелочь, так как везде где только можно (в книгах, MSDN, прочих сайтах) разговоры о производительности начинают с коллекций с выше 1000 объектов, но никак не 150...


    Влюблен в WPF Не пишу на C#
    3 февраля 2012 г. 19:44
    Отвечающий

Ответы

  • Переделал приложение с использованием модели представлений и проблема исчесла. Видимо все таки привязка к коллекции классов оптимизирована для MVVM

    Влюблен в WPF Не пишу на C#

    • Помечено в качестве ответа LXGDARKEditor 13 февраля 2012 г. 9:14
    13 февраля 2012 г. 9:14
    Отвечающий

Все ответы

  • Уважаемый пользователь!
     
    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме

    Для связи [mail]

    8 февраля 2012 г. 11:01
  • Идей нет :(

    Хочу на всякий случай уточнить, что данная проблема наблюдалась в разных проектах, причем на разных версиях фреймворка (как в 3.5 так и в 4), но на одной и той же машине. Может ли дело в этом?


    Влюблен в WPF Не пишу на C#

    9 февраля 2012 г. 8:49
    Отвечающий
  • Переделал приложение с использованием модели представлений и проблема исчесла. Видимо все таки привязка к коллекции классов оптимизирована для MVVM

    Влюблен в WPF Не пишу на C#

    • Помечено в качестве ответа LXGDARKEditor 13 февраля 2012 г. 9:14
    13 февраля 2012 г. 9:14
    Отвечающий