[英]WPF UserControl that is a tab in a tabcontrol - how to detect if it is closing
我有一个从UserControl继承的类。 我在WPF TabControl中将此类显示为选项卡。 该选项卡带有一个小的x,可以通过单击将其关闭。 我需要一种方法来删除标签之前执行一些清理代码。
我不相信我可以使用Unloaded事件来执行此操作,因为在销毁UserControl时会调用Unloaded事件,而在单击另一个选项卡时也会被调用。
关于如何处理这种情况有什么想法?
编辑:这是更多信息。 在我的UserControl类中,我有一个正在使用的第三部分控件。 基本上是图形控件。 我想运行几行代码以确保没有内存泄漏。 如果您想阅读更多有关此的内容,那么这将是更多有关此内容的网址:
您可以在GitHub上的dragablz TabControl中查看我完成此操作的方式。
从本质上讲,TabControl会侦听从关闭按钮引发的RoutedCommend,然后调用可选的回调,该回调使MVVM视图模型(或旧式控件类型代码)能够处理关联的视图模型,或执行您要整理的任何其他整理代码做(或实际上取消关闭操作)。
在GitHub上的示例项目文件中,查找ClosingItemHandlerImpl并从那里开始工作。
http://github.com/ButchersBoy/Dragablz/blob/master/DragablzDemo/BoundExampleModel.cs
从XAML绑定ClosingItemHandlerImpl,并且在删除选项卡之前,选项卡控件将对其进行调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.