删除子用户控件时触发的 WPF 事件

WPF event triggered when child user control is removed

我正在用 C# 开发 WPF 桌面应用程序。

我的主应用程序根据用户单击的按钮在主网格上添加或删除用户控件。

例如单击按钮时:

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

在 MyUserControl 中,我必须在用户控件 "closed" 之前写一些文件,但我不知道在哪里做,所以我想用一些事件来做。

父级清除子级时是否调用了用户控件中的任何事件?

否,当 Children 被清除时,控件或 UIElementCollection 没有引发任何事件。

您必须自己引发自定义事件,或者您可以在调用 Clear().

之前或之后调用一个方法

FrameworkElement中有这样一个事件class:

public event RoutedEventHandler Unloaded;

您可以在 MyUserControl 中订阅此事件。