【发布时间】:2017-04-27 14:59:45
【问题描述】:
如何在按钮/图标单击时以 xamarin 表单显示导航抽屉。 我的详细信息页面中有一个按钮,单击时我希望导航抽屉 ISPresented 为真。如何才能做到这一点?提前致谢
【问题讨论】:
-
masterPage.IsPresented = true / false;
标签: xamarin.forms navigation-drawer
如何在按钮/图标单击时以 xamarin 表单显示导航抽屉。 我的详细信息页面中有一个按钮,单击时我希望导航抽屉 ISPresented 为真。如何才能做到这一点?提前致谢
【问题讨论】:
标签: xamarin.forms navigation-drawer
这里有多个选项,最明显和最简单的实现是使用MessagingCenter。由于您无法直接访问MasterDetailPage,并且您希望避免耦合。
在您创建 MasterDetailPage 时,订阅这样的事件:
MessagingCenter.Subscribe<MainPage> (this, "OpenMaster", (sender) => {
masterPage.IsPresented = !masterPage.IsPresented;
});
现在,在您想要触发功能的按钮上,执行发送此消息,如下所示:
MessagingCenter.Send<MainPage> (this, "OpenMaster");.
现在,我不知道有关您的代码的任何详细信息,因此我无法帮助您准确地将其放在哪里,您可能需要替换一些诸如 MainPage 之类的东西以与您的代码相对应。但这应该会给你一个想法。
【讨论】:
IsPresented属性。在预订舱位上输入您的按钮代码。
MainPage。请使用相关代码(包括类名)更新您的问题,并指定什么不起作用
杰拉德成功了
在您创建 MasterDetailPage 时,订阅这样的事件:
MessagingCenter.Subscribe<MainPage> (this, "OpenMaster", (sender) => {
masterPage.IsPresented = !masterPage.IsPresented;
});
现在,在您想要触发功能的按钮上,执行发送此消息,如下所示:
MessagingCenter.Send<MainPage> (this, "OpenMaster");.
【讨论】:
试试这个最简单的解决方案
((MasterDetailPage)App.Current.Mainpage).Master.IsPresented = true;
【讨论】: