WPF UserControl для события родительского изменения - PullRequest
3 голосов
/ 12 ноября 2010

У меня есть приложение, в котором у меня есть главное окно, которое может содержать другие прикрепленные / присоединенные окна.Прямо сейчас, когда мой пользовательский элемент управления загружается, я получаю его родителя, используя Window.GetWindow.Это возвращает ссылку на главное окно, что нормально.Однако, когда я отсоединяю / отсоединяю дочернее окно, на котором включен пользовательский элемент управления, родительский элемент изменяется.

Существует ряд событий родительского окна, которые пользовательский элемент управления должен прослушивать.Я не мог найти способ, чтобы пользовательский элемент управления был уведомлен при смене родителя.Похоже, что ParentChanged / OnParentChanged не существует для System.Windows.Controls.UserControl.

Есть ли способ, с помощью которого мой пользовательский элемент управления может уведомляться об изменении его родителя?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 30 декабря 2010

Может быть, вам нужны события Loaded и Unloaded.Их также следует вызывать при смене родителя, но я не уверен в этом.

0 голосов
/ 11 декабря 2013

Использовать защищенное переопределение sub onparentchange

 check is parent not nothing

Если это правда, вы можете использовать parent_onmouseup

Адрес созданного вами события

...