Я не думаю, что есть какая-либо инфраструктура для обработки деактивирующих привязок, связанных с невидимыми элементами управления.К сожалению, есть много ситуаций, в которых вы хотели бы, чтобы элемент управления не был виден для участия в привязке данных.Самое главное, у вас часто есть элемент управления, видимость которого зависит от привязки.Кроме того, у вас может быть связь между свойствами видимого элемента управления и невидимого элемента управления.Или кому-то может понадобиться полная противоположность того, что вы хотите: элемент управления заполняется сам, пока невидим, а затем выскакивает полностью заполненным, когда он виден.
Я думаю, что единственное хорошее решение для вашей ситуации - это избегать тяжеловесаневидимые элементы управления, если это возможно.Специально для управления вкладками я бы подумал, что это будет поведение по умолчанию, но, возможно, это зависит от вашей ситуации.По иронии судьбы некоторые люди жалуются на то, что TabControl
уничтожает своих дочерних элементов при переключении между вкладками, и хотели бы знать, как этого избежать, потому что сохранение всех фоновых вкладок в памяти требует некоторой работы.Но, похоже, у вас возникла противоположная проблема.
Для справки, вот источник, который я упомянул для TabControl
children:
Возможно, вам удастся провести несколько экспериментов в небольшом проекте, чтобы "включить" режим утилизации, который они пытаются отключить.Если ваш элемент управления загружался по требованию, переключение между вкладками могло бы быть немного медленнее, но производительность вкладки могла бы улучшиться.