使用 MasterDetailPage 在 Prism 中进行深度导航会导致双重调用视图模型

Deep Navigation in Prism with MasterDetailPage causes double calling viewmodel

我有带汉堡按钮的 MasterDetailPage。为此,我制作了这个导航路径:

var navigationStack = new Uri("https://Necessary/" + $"{nameof(ProfilePage)}/{nameof(NavigationBarPage)}/{nameof(DetailPage)}", UriKind.Absolute);  
await _navigationService.NavigateAsync(navigationStack, parameters, animated: false);

ProfilePage - MasterDetailPage、NavigationBarPage - NavigationPage

但我意识到,由于它,viewmodels 调用了两次,一次用于 ProfilePage - 这导致调用 DetailPageViewModel 和 Master.. 以及 Detail 的所有子项,因为它是选项卡式页面。然后当路径到达 DetailPage 时,它​​会再次调用它的子项。
这对我来说是不好的行为。我做错了什么吗?以及如何在我的页面外观相同的情况下避免它?

如果它是{nameof(ProfilePage)}/{nameof(NavigationBarPage)},它看起来不会像我想要的那样,因为工具栏会隐藏 MasterPage 的一部分。

根据您的评论,我只能假设当您定义 MasterDetailPage 时,您也在定义 DetailPage。不要这样做。只需设置您的 MasterDetailPage,设置 Master 属性,不要设置 Detail 属性。当您使用深度 link 路径导航时,将自动设置详细信息 属性。