使用 Prism 和自定义标题栏时如何在 MasterDetail 页面中显示菜单

2023-11-30

我对 Xamarin 完全陌生。

我正在开发一个使用 Prism 框架进行导航的项目(我的第一个 xamarin 项目),要求需要一个自定义标题栏。我已经按照本教程中的详细说明实现了它

https://wolfprogrammer.com/2016/07/07/custom-app-header-in-forms/

现在使用棱镜导航,如何显示主详细信息页面菜单,即当用户单击自定义汉堡包图标时将 MasterPage 的 IsPresented 属性设置为 true。

我已经读了几个小时了,但无法理解提到的任何解决方案,也不适合我?有人可以在这里为一个完全的初学者分解一下吗?

到目前为止我提到过的一些链接

https://forums.xamarin.com/discussion/93409/prism-how-show-hide-programmatically-the-masterdetailpage-menu

https://github.com/PrismLibrary/Prism/issues/570


只需在母版页的 ViewModel 中有一个布尔属性,我们将其称为 IsMenuPresented,然后在母版页 XAML 中:

<MasterDetailPage
    x:Class="YourProject.Views.MasterPage"
    ...
    MasterBehavior="Popover"
    IsPresented="{Binding IsMenuPresented, Mode=TwoWay}">

如果您希望能够通过代码切换菜单,您可以:

1)做类似的事情

(App.Current.MainPage is MasterDetailPage mainPage).IsPresented = true;

2) Use Prism 的事件聚合器订阅母版页的 ViewModel 中的事件,该事件将侦听从其他 ViewModel 发布的 true/false 值,并相应地设置 IsMenuPresented(从而显示/隐藏菜单)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Prism 和自定义标题栏时如何在 MasterDetail 页面中显示菜单 的相关文章

随机推荐