Как правило, в WPF вам не нужно настраивать элементы управления IDisposable
. В отличие от Windows Forms, объекты WPF UIElement
полностью управляются, а не (обычно) переносят собственные маркеры. Поэтому их не нужно утилизировать, и их можно оставить сборщику мусора.
Вот почему UserControl
не реализует IDisposable
.
Есть, конечно, исключения. Если ваш класс инкапсулирует что-либо, полученное, например, из HwndHost
(например, WebBrowser), вы, вероятно, захотите сделать свой класс IDisposable
, чтобы вызвать Dispose()
для инкапсулированного элемента управления. Обычно это требуется только в сценариях взаимодействия (например: WebBrowser
, который взаимодействует с нативными элементами управления браузера).