我正在寻找一种方法来禁用TabbedPage中的选项卡。该选项卡应该仍然显示在TabbedPage标题中,但只是被禁用。
我试图将Page设置为IsEnabled = false,但显然这不是你怎么做的,或者我做错了。 :)
答案 0 :(得分:2)
您可以为选项卡式页面控件创建自定义渲染器,并在渲染器的特定于平台的实现中禁用用户交互。
例如,iOS的渲染器会使用UITabBarControllerDelegate Protocol
覆盖
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
并返回NO
以查找不应选择的标签。 Android或Windows Phone的解决方案类似。
答案 1 :(得分:1)
这是我自带的@joeriks方法,这是一个很好的快速/简单的解决方案。令人烦恼的是事件args只是EventArgs。
只需将其添加到您的TabbedPage .cs文件中。
Page _lastKnownPage;
protected override void OnCurrentPageChanged()
{
base.OnCurrentPageChanged();
if (CurrentPage.IsEnabled)
_lastKnownPage = CurrentPage;
else
CurrentPage = _lastKnownPage;
}