在面向 10240 的 UWP 应用的辅助视图中未调用卸载事件



按照此示例,https://learn.microsoft.com/en-us/windows/uwp/design/layout/show-multiple-views 如果我在辅助视图中打开任何视图,则永远不会调用在辅助窗口中打开的页面的 Unloaded 事件。因此,有许多对象没有正确处理,因为我在 Unloaded 事件中有一些清理代码。

我知道我可以在视图中使用 Consolidated 事件来了解辅助视图何时关闭(因为 Closed 事件永远不会在窗口中调用(,但我不能使用它,因为我有一些自定义按钮需要在关闭辅助视图之前卸载。我可以做一些肮脏的补丁,但我想避免这种情况。有什么想法吗?

但我不能使用它,因为我有一些自定义按钮需要在关闭辅助视图之前卸载。

关闭窗口时不会触发卸载事件。我不明白为什么你不能使用合并事件。根据您的描述,您只想在窗口关闭之前执行一些干净的操作。当从最近使用的应用程序列表中删除窗口时,或者如果用户对其执行关闭手势,则会发生应用程序视图.合并事件。它完全符合您的要求。

您可以查看官方的多视图示例。它实现 ViewLifetime 控件.cs来控制辅助视图,并实现发布事件和相关函数来跟踪辅助视图并在关闭时销毁对象。

最新更新