2017-04-25 62 views

回答

0

这里有多种选择,最明显和简单的实施是使用MessagingCenter。由于您无法直接访问MasterDetailPage,并且您希望避免耦合。

点在哪里您创建MasterDetailPage,订阅像这样的事件:

MessagingCenter.Subscribe<MainPage> (this, "OpenMaster", (sender) => { 
    masterPage.IsPresented = !masterPage.IsPresented; 
}); 

现在起要触发与功能按钮,实现发送这个消息是这样的:

MessagingCenter.Send<MainPage> (this, "OpenMaster");

现在,我不知道有关您的代码的任何细节,因此我无法帮助您准确把它放在哪里,您可能需要替换一些东西,如MainPage以符合您的代码。但是这应该给你一个想法。

+0

我没有得到我应该把这段代码放在哪里。在那帮助我。 –

+0

我有两个具有抽屉的一级导航抽屉,另一个是名为“预订”的详细信息页面。现在我在预订课中有一个按钮,我想从中打开抽屉 –

+0

将订阅放入您的抽屉页面,可以访问“IsPresented”属性。将发送按钮放在预约课程上。 –

0

杰拉德它的工作

,在您创建MasterDetailPage点,订阅像这样的事件:

MessagingCenter.Subscribe<MainPage> (this, "OpenMaster", (sender) => { 
    masterPage.IsPresented = !masterPage.IsPresented; 
}); 

现在起要触发与功能按钮,实现发送此消息是这样的:

MessagingCenter.Send<MainPage> (this, "OpenMaster");. 
+0

谢谢!杰拉尔德Versluis –

+0

在添加主详细信息页面我得到不必要的空间顶部如何删除它? –

0

试试这个简单的解决方案

((MasterDetailPage)App.Current.Mainpage).Master.IsPresented = true; 
+0

帮我在这\t 在添加主详细信息页我收到不必要的空间顶部如何删除它? –

+0

https://forums.xamarin。com/discussion/comment/185322 /#Comment_185322 –

+0

未得到如何删除 –