首页 > 解决方案 > 未在针对 10240 的 UWP 应用的辅助视图中调用未加载事件

问题描述

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

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

标签: c#uwpuwp-xaml

解决方案


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

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

您可以查看官方的MultipleViews 示例。它实现了一个ViewLifetimeControl.cs来控制您的辅助视图,并实现释放事件和相关功能以跟踪辅助视图并在关闭时销毁对象。


推荐阅读