Xamarin形成FreshMVVM:作为工具栏项的特定详细信息页面的短链接

时间:2017-09-27 15:34:00

标签: xamarin.forms freshmvvm

将FreshMvvM用于基于Xamarin表单的MasterDetailPage,我正在寻找一种方法来将特定详细信息页面的短链接作为ToolbarItem放置在每个Detail页面的顶部。

点击此短链接后,如何导航到特定的详细信息页面? 以下命令导航到所需的目标详细信息页面,但会吹掉整个导航!?

private async void OnShortLinkButtonClicked(object sender, EventArgs e)
{
    App.Current.MainPage = FreshMvvm.FreshPageModelResolver.ResolvePageModel<MyDetailPageModel>();
}

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您在示例中显示的链接将App.Current.MainPage设置为新的详细信息页面。正如你所说的那样,它会吹走整个导航堆栈。

您要做的是将当前MasterDetail页面的Detail属性设置为新的详细信息页面。

执行此操作的一种方法是使用消息中心发送消息 - 您可以创建新的ChangePage消息并将详细信息页的枚举作为参数传递。

在您的MasterDetail页面中订阅ChangePage消息并使用switch语句将当前详细信息页面替换为新的详细信息页面。