我正在创建一个Xamarin应用程序,我想要合并多个页面,MasterDetailPage
和NavigationPage
。Xamarin中的MasterDetailPage和NavigationPage组合
我的MainPage
包含MasterDetailPage
,MasterDetailPage
的主人包含用户可以查看的视图列表(用于存储信息的定制类,例如类类型,要显示的图像和名称)。那些意见都是ContentPage
s。点击列表中的项目后,ContentPage
通过反射进行初始化,然后存储在MasterDetailPage
中。目前一切都是按照Xamarin的建议。
但是其中之一ContentPages
包含ListView
。
当已经选择了一个项目,该ListView
有打开的DetailView和用户必须能够返回到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));
}
如果这样做了, 返回按钮呈现在MasterDetailPage
之上。
有什么办法去ListView
的详细信息页面时,我可以删除MasterDetailPage的“汉堡”按钮?或者我目前使用错误的工作流程?
MasterDetailPage的Detail属性中的页面已经在导航页面中。 – Echarnus
我已经添加了一个示例项目,请看看。 –
对不起,迟到的答案,没有太多时间。我看了你的例子,我确实把页面放在了一个导航页面的细节中。 – Echarnus