【发布时间】:2016-08-24 13:38:58
【问题描述】:
我正在创建一个 Xamarin 应用程序,我想在其中组合多个页面,MasterDetailPage 和 NavigationPage。
我的MainPage 包含MasterDetailPage,MasterDetailPage 的主人包含用户可以查看的视图列表(存储类类型、要显示的图像和名称等信息的自定义类)。这些观点都是ContentPages。当单击列表中的一个项目时,ContentPage 使用反射进行初始化,然后存储在MasterDetailPage 中。目前,一切都已按照 Xamarin 的建议完成。
但其中一个ContentPages 包含ListView。
选择项目后,ListView 必须打开详细视图,并且用户必须能够返回到ListView。因此,我使用Navigation 类并在NavigationPage 内推送页面,如下所示(绑定可以做得更好,但这只是为了感受Xamarin):
private async Task Handle_ItemSelected(object sender, Xamarin.Forms.SelectedItemChangedEventArgs e)
{
if (_detail == null)
{
_detail = new Detail();
}
_detail.BindingContext = SelectedTrack;
await Navigation.PushAsync(new NavigationPage(_detail));
}
这样完成后,Back 按钮将呈现在 MasterDetailPage 上方。
在转到ListView 的详细信息页面时,有什么方法可以删除 MasterDetailPage 的“汉堡”按钮?还是我目前使用了错误的工作流程?
【问题讨论】:
标签: c# xamarin navigation xamarin.forms master-detail