当详细信息更改时,是否可以自动更改主详细信息项目中的所选菜单页面?

时间:2019-07-23 10:38:45

标签: xaml xamarin.forms

背景

我的项目使用Xamarin.Forms的“ Master Detail”项目,因此它在左上方配备了汉堡菜单按钮,这应该是整个应用程序中导航的主要来源。但是,我的应用程序要求用户在不使用汉堡菜单的情况下浏览多个屏幕。但是当用户使用我自己的按钮更改详细信息时,汉堡菜单仍然显示该用户在上一页。

例如,用户在页面A上。他们单击菜单外的按钮将其发送到页面B。菜单仍将显示页面A。

我的尝试:

我真的不知道从哪里开始,所以我尝试使用MenuItemType并将其通过以下函数传递:

// This changes the screen without changing the menu and it works.
((MasterDetailPage)Application.Current.MainPage).Detail = new NavigationPage(new PageB());

// This was my attempt to change the menu.
(Application.Current.MainPage as MenuPage).RootPage.NavigateFromMenu((id)MenuItemType.PageB);

但这在运行时返回了Null引用异常。

我也尝试过手动调用与汉堡菜单关联的列表视图并更改selectedItem属性,但是那也不起作用。有什么方法可以更改所选菜单吗?

为清楚起见:

由于StackOverflow不允许我发布视频,here's a link介绍了该应用的操作方式。如您所见,我使用菜单转到“关于”页面。我单击屏幕上的一个按钮,该按钮将我带回到“浏览”页面。但是,当我打开菜单时,它仍然显示已选择“关于”。在菜单移开之前,我无法重新选择“关于”,这意味着尽管已经出现在该屏幕上,但我还是必须重新打开“浏览”。

我要寻找的功能是当我按“关于”页面上的按钮时,将自动将所选菜单项更改为“浏览”的功能。该应用程序当前正在使用“主详细信息”页面,该页面的“详细信息”组件从“关于页面”更改为“浏览页面”。菜单页面是预先随应用程序一起构建的内容页面。

0 个答案:

没有答案