PRISM - Xamarin Forms - 在 MasterDetailPage 的某些详细信息页面上禁用 IsGestureEnable

PRISM - Xamarin Forms - Disable IsGestureEnable on some Detail page of MasterDetailPage

我在 Xamarin Forms 应用程序上使用 Prism 库(版本 7.2.0.1422)。 用户登录后,我使用 NavigationService.NavigateTo($"/{nameof(MainMasterDetailPage)}/{nameof(MasterDetailNavigationPage)}/{nameof(HomePage)}") 方法将我的 "MainMasterDetailPage" 设置为应用程序的主页。

MasterDetailNavigationPageclass:

public class MasterDetailNavigationPage : NavigationPage, INavigationPageOptions
{
    public bool ClearNavigationStackOnNavigation => false;
}

当用户单击菜单项时,我使用 NavigationService.NavigateTo("pagename") 方法来保留导航堆栈。 在这种情况下,存在后退按钮并使用滑动手势显示菜单。

在某些情况下,我希望禁用用于打开菜单的滑动手势,因为在某些页面中有一个手势识别器可以在我的自定义视图中管理滑动手势(再次绘制等)。

如何使用 Prism 库执行此操作?我无法直接访问主详细信息页面上的 属性 "Is Gesture Enabled"。

试试这个,将 SomePage 作为您希望出现这种行为的页面。

class SomePage : ContentPage {

   public SomePage() {
      // Assuming your MasterDetailPage is the root page of the Application
      Xamarin.Forms.Application.MainPage.IsGestureEnabled = false;
   }
}