Несколько List-Controls привязаны к ViewModel - PullRequest
0 голосов
/ 07 июля 2010

Уместно ли установить Visibility свойство неиспользуемого элемента управления списком виртуализации на Collapsed.

У меня есть ViewModel, которая реализует IEnumerable<SomeType> и некоторые виртуализирующие списочные элементы управления, которые привязываются непосредственно к ViewModel (объявлено в разметке). В каждый момент времени виден только один из элементов управления списком.

Уместно ли устанавливать только Visibility из неиспользуемых списков для свертывания, потому что в этом случае никакие элементы не будут создаваться для невидимых элементов управления списками или мне лучше очистить и установить свойство ItemsSource?

Я знаю, что есть издержки, потому что два или более элемента управления отслеживают изменения сбора (INotifyCollectionChanged), но IMO эти издержки незначительны. Я прав?

1 Ответ

1 голос
/ 07 июля 2010

Вы правы.Вполне возможно, что очистка ваших коллекций может привести к большему падению производительности, чем оставление их в покое.Хотя элемент управления будет заполнять свою коллекцию Items из связанной исходной коллекции и подключать обработчики, не будет никакого рендеринга и создания дочерних элементов, которые почти всегда являются более медленной частью привязки к коллекциям.Как только он установлен на Collapsed, он не существует с точки зрения механизма рендеринга.

...