Я использую UserControl
s внутри WinForm
для отображения данных.Я также использую шаблон команды, чтобы UserControl
регистрировал (слабое) событие и выполнял какие-то действия при запуске команды.
На WinForm
я могу отменить регистрацию событий в Close
событие.Однако такого события на UserControl
нет.Я подключил события, которые, как я думал, будут запущены, когда UserControl
больше не будет в стеке дисплея, но не смог найти ничего полезного.Чтобы пройти, я проверяю, является ли Parent
нулевым, и это работало для большинства случаев.
Теперь я хотел бы иметь ребенка UserControl
от другого UserControl
(поместите UserControl
внутри TabControl
) и свойство Parent
больше не будет нулевым для дочернего элемента управления, когда родительский элемент больше не отображается.
Есть ли способ узнать, является ли UserControl
используется?
Что я пробовал до сих пор: Dispose()
не вызывается системой сразу, поэтому она бесполезна;IsVisible
также не обновляется системой;событие Close
или Unload
не инициировано.
Приветствия.