将FreshMvvM用于基于Xamarin表单的MasterDetailPage,我正在寻找一种方法来将特定详细信息页面的短链接作为ToolbarItem放置在每个Detail页面的顶部。
点击此短链接后,如何导航到特定的详细信息页面? 以下命令导航到所需的目标详细信息页面,但会吹掉整个导航!?
private async void OnShortLinkButtonClicked(object sender, EventArgs e)
{
App.Current.MainPage = FreshMvvm.FreshPageModelResolver.ResolvePageModel<MyDetailPageModel>();
}
有什么建议吗?
答案 0 :(得分:0)
您在示例中显示的链接将App.Current.MainPage设置为新的详细信息页面。正如你所说的那样,它会吹走整个导航堆栈。
您要做的是将当前MasterDetail页面的Detail属性设置为新的详细信息页面。
执行此操作的一种方法是使用消息中心发送消息 - 您可以创建新的ChangePage消息并将详细信息页的枚举作为参数传递。
在您的MasterDetail页面中订阅ChangePage消息并使用switch语句将当前详细信息页面替换为新的详细信息页面。