我有带汉堡按钮的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,因为它是Tabbed Page。然后当路径来到DetailPage时,它会再次调用它的子项 这对我来说是不好的行为。我做错了吗?我怎么能用相同的页面来避免它呢?
如果它是{nameof(ProfilePage)} / {nameof(NavigationBarPage)},它将看起来不像我想要的那样,因为工具栏将隐藏MasterPage的一部分。
答案 0 :(得分:0)
根据您的评论,我只能假设您在定义MasterDetailPage时也定义了DetailPage。不要这样做。只需拥有MasterDetailPage,并设置Master属性,不要设置Detail属性。使用深层链接路径导航时,将自动设置Detail属性。