Событие WPF срабатывает при удалении дочернего пользовательского элемента управления - PullRequest
0 голосов
/ 07 мая 2020

Я разрабатываю настольное приложение WPF в C#.

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

Например при нажатии кнопки:

gridMain.Children.Clear();
MyUserControl muc = new MyUserControl();
gridMain.Children.Add(muc);

В MyUserControl мне нужно записать несколько файлов до того, как пользовательский элемент управления будет «закрыт», но я не знаю, где это сделать, поэтому я думал сделать это с каким-то событием .

Вызывается ли какое-либо событие в пользовательском элементе управления, когда родитель очищает дочерние элементы?

Ответы [ 2 ]

1 голос
/ 07 мая 2020

В классе FrameworkElement есть такое событие:

public event RoutedEventHandler Unloaded;

Вы можете подписаться на это событие в MyUserControl.

0 голосов
/ 07 мая 2020

Нет, ни элемент управления, ни UIElementCollection не генерируют событие, когда Children очищается.

Вам нужно будет создать собственное событие самостоятельно, или вы можете просто вызвать метод непосредственно перед или после вызова Clear().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...