0

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

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

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

有什么建议么?

4

1 回答 1

0

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

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

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

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

于 2017-09-28T22:45:31.000 回答