我对Xamarin来说是全新的。
我正在开发一个Prism框架用于导航的项目(我的第一个xamarin项目)需求需要一个自定义标题栏。我已经按照本教程中的详细说明实现了它
https://wolfprogrammer.com/2016/07/07/custom-app-header-in-forms/
现在使用prism导航,如何显示masterdetail页面菜单,即当用户单击自定义汉堡包图标时将MasterPage的IsPresented属性设置为true。
我现在已经阅读了几个小时,并且无法理解所提到的任何解决方案,也不能为我工作?有人可以在这里打破一个完整的初学者吗?
我到目前为止提到的一些链接
答案 0 :(得分:0)
在您的母版页的ViewModel中只有一个布尔属性,我们将其命名为IsMenuPresented,然后在您的MasterPage XAML中:
<MasterDetailPage
x:Class="YourProject.Views.MasterPage"
...
MasterBehavior="Popover"
IsPresented="{Binding IsMenuPresented, Mode=TwoWay}">
如果您希望能够从代码中切换菜单,则可以:
1)做类似的事情
(App.Current.MainPage is MasterDetailPage mainPage).IsPresented = true;
2)使用Prism's Event Aggregator订阅母版页的ViewModel中的事件,该事件将侦听从其他ViewModel中发布的true / false值,并相应地设置IsMenuPresented(从而显示/隐藏菜单)。