A UserControl
не "уничтожается" до тех пор, пока не будет в конечном итоге собран мусором.
Событие Unloaded возникает, когда FrameworkElement
удаляется из дерева элементов. Обратите внимание, что это событие может запускаться несколько раз для одного и того же элемента в зависимости от вашего макета и способа отображения элементов.
Но «уничтоженного» события не возникает для UserControl
. Все управляемые объекты становятся пригодными для сбора мусора, когда на них больше нет ссылок.
Если ваш пользовательский UserControl
по какой-то причине должен быть явно "уничтожен", вам следует рассмотреть возможность реализации интерфейса IDisposable и явно уничтожить экземпляры, как только вы их используете. Но WPF не вызовет для вас метод Dispose
.