【问题标题】:PRISM - Xamarin Forms - Disable IsGestureEnable on some Detail page of MasterDetailPagePRISM - Xamarin 表单 - 在 MasterDetailPage 的某些详细信息页面上禁用 IsGestureEnable
【发布时间】:2020-06-28 17:01:33
【问题描述】:

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

MasterDetailNavigationPage 类:

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

当用户点击菜单项时,我使用NavigationService.NavigateTo("pagename") 方法来保持导航堆栈。 在这种情况下,返回按钮是存在的,并且使用滑动手势会显示菜单。

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

如何使用 Prism 库做到这一点?我无法直接访问 Master Detail 页面上的属性“Is Gesture Enabled”。

【问题讨论】:

  • 问题不清楚,尽量详细一点,如果可能的话,用你的尝试显示一些代码
  • 感谢编辑,所以你不能这样做Xamarin.Forms.Application.MainPage.IsGestureEnabled = false; ?
  • 当您进入您的特定页面时,您可以在她的构造函数中编写该行,如果我理解您的问题,它将实现您的目标

标签: xamarin.forms prism


【解决方案1】:

试试这个,作为 SomePage 你想出现这种行为的页面。

class SomePage : ContentPage {

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

【讨论】:

  • 很高兴我能提供帮助,请不要忘记将其标记为答案。
  • OnDisappearing 我添加了Application.MainPage.IsGestureEnabled = true 以再次启用滑动手势
  • 不错不错!
猜你喜欢
  • 1970-01-01
  • 2016-09-20
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
  • 1970-01-01
相关资源
最近更新 更多