我希望禁用手势为特定的页面。我遇到了许多职位建议设置MasterDetailPage的IsGestureEnabled为假禁用它。这工作,但由于某种原因,不是所有的时间。目前我只想在登录页面禁用手势,所以在身份验证时我启用手势,在出现时我禁用。我遇到的问题是,如果用户切换应用程序并返回并注销,手势仍然启用。这让我认为一个不同的MasterDetailPage上下文被触发。有没有人遇到过这个问题或有任何指导我。我可能认为我不理解MasterDetailPage的生命周期
IsGestureEnabled
qybjjes11#
如果你想在MasterDetailed页面的特定页面上禁用手势,我建议你尝试使用MassagingCenter来做到这一点。1.从主详细页面构造器使用MassagingCenter:
MessagingCenter.Subscribe<string>(this, "DisableGesture", (sender) => { if (sender == "0") { IsGestureEnabled = false; } else { IsGestureEnabled = true; } });
MessagingCenter.Subscribe<string>(this, "DisableGesture", (sender) =>
{
if (sender == "0")
IsGestureEnabled = false;
}
else
IsGestureEnabled = true;
});
字符串2.当您导航到特定页面,并希望禁用手势时,您可以在内容页面OnAppearing方法中执行此操作。
protected override void OnAppearing() { base.OnAppearing(); MessagingCenter.Send<string>("0", "DisableGesture"); }
protected override void OnAppearing()
base.OnAppearing();
MessagingCenter.Send<string>("0", "DisableGesture");
型
1条答案
按热度按时间qybjjes11#
如果你想在MasterDetailed页面的特定页面上禁用手势,我建议你尝试使用MassagingCenter来做到这一点。
1.从主详细页面构造器使用MassagingCenter:
字符串
2.当您导航到特定页面,并希望禁用手势时,您可以在内容页面OnAppearing方法中执行此操作。
型