Initialize 和 InitializeAsync 触发一次,而 OnNavigatingTo 则在返回时触发一次 Prism 7.2

Initialize and InitializeAsync fires once vs OnNavigatingTo that fired when navigating back too Prism 7.2

我已将我的项目移至 prism 7.2

我有很多 "OnNavigatingTo" 并相应地替换为 InitializeAsync 或 Initialize

如果我没记错的话 "OnNavigatingTo" 每次您导航到一个页面时都会触发,无论是返回还是返回。如果我导航回某个页面,它会触发而 Initialize 不会。

无论正确与否,我在导航返回时传回参数的某些页面都会出现问题。

这是预期的行为吗?

谢谢

OnNavigatingTo 只应触发一次。它的目的是初始化。最终出现了不止一次开火的情况。您需要完成一次的所有内容都应放在 IInitialize.Initialize 中,每次导航时应触发的任何内容或需要一些逻辑(例如导航返回...)的内容都应放在 INavigat[ed|ion]Aware.OnNavigatedTo.

正是这种混淆导致如此多的 Prism 用户要求放弃支持并引入新的 API 使意图更加清晰。