2010-08-20 1 views
1

Итак, у меня есть две вкладки на вкладке. Я привязываю данные к обоим. Если, когда я нажимаю второй элемент вкладки, память проходит через крышу. Похоже, это ленивая загрузка или что-то в этом роде. Поэтому, если я не нажимаю на нее, память остается неподвижной, но вскоре, когда я нажму на вторую вкладку, она начнет связывать данные.WPF - TabItem, по-видимому, является связыванием данных при нажатии

Спасибо за помощь никому!

ответ

1

WPF TabControl выгружает вкладки, которые в настоящее время не видны, и перезагружает их при их переключении. Таким образом, переход от Tab1 к Tab2 приведет к выгрузке Tab1 и загрузке Tab2 (это можно проверить с помощью события Loaded на элементе на вкладках).

Выполняете ли вы какие-либо интенсивные операции с памятью внутри своих вкладок или внутри событий Loaded любых tabcontrols?

+0

да, сэр, я строю диаграмму любых предложений? – TCoder

+0

Если в вашей диаграмме много строк/столбцов, я бы рекомендовал посмотреть в Virtualizing it (google VirtualizingStackPanel), поскольку это приведет к созданию только строк, которые будут видимыми. Если медленность вызвана чем-то таким, как заполненный огромный DataSet, я бы рекомендовал сохранить набор данных в CodeBehind и привязать к нему диаграмму, чтобы перезагрузка вкладки только перезагружала привязку, а не весь набор данных. – Rachel

Смежные вопросы