Поскольку Unloaded (и Loaded, в этом отношении) не являются туннельными событиями, я не думаю, что есть способ отменить это на высоком уровне.
Мне любопытно, чего вы пытаетесь достичь. Вы освобождаете ресурсы, связанные с дочерними элементами? Вы обеспокоены последствиями возврата на эту страницу и повторной инициализации ресурсов? Если это так, возможно, кеш приложений является лучшим местом для их хранения, так что вы можете определить, когда они были инициализированы, как часто они использовались и т. Д. Это также даст вам централизованное место для очистки кэшированных ресурсов в случае нехватка памяти или ситуация, когда вы знали, что ресурсы предыдущих шагов недопустимы (например, вы завершили работу мастера, поэтому вы знаете, что вам не нужны ресурсы, связанные с предыдущими шагами мастера).
С другой стороны, если вы ищете возможность полностью отменить навигацию, я думаю, вы ищете событие Navigating . Отмена этого события должна остановить загрузку нового ресурса и предотвратить изменение текущей страницы.
- Добавление информации о решении для кэширования (не помещается в комментарии)
Сначала я подумал, что вам следует оптимизировать только тогда, когда вы знаете, что на самом деле проблема с производительностью в реальном мире. Если это действительно является проблемой, вы можете создать одноэлементный объект кэширования, который живет в вашем приложении для управления этими объектами. Я уверен, что есть некоторые готовые решения, о которых я не знаю, но для простого приложения достаточно было бы словаря, обернутого в интерфейс со строковыми ключами, обернутыми в объект Singeton. Вы можете получить к нему доступ через простой интерфейс
CustomApplicationObjectCache[CACHE_KEY_CONSTANT_STRING] = new VisualBrush(...); //Or whatever type you have
Если вы не имеете дело с какими-то очень тяжелыми объектами или графами объектов, я подозреваю, что кэширование было бы излишним и, вероятно, помешало бы .NET сделать правильные вещи для сборки мусора. Я бы порекомендовал профилировать ваше приложение и посмотреть, действительно ли это проблема для вас.