当我尝试将母版(MasterDetailPage的)的背景色设置为透明时,它保持白色.
基本上,我希望看到的是,详细信息页面中的颜色是通过母版显示的.
例如(如果上述情况成立,那么此MasterDetailPage的背景色将为红色(是的,我知道我可以将背景色设置为红色,但我希望它是透明的))
解决方法:
看到TabletMasterDetailRenderer的documentation后,我们可以发现在PCL中创建的母版页或详细页将添加到_masterController.View和_detailController.View上.
因此,当我们将其BackgroundColor设置为Transparent时,页面将仍然是白色.我们还应该设置_masterController.View的BackgroundColor.
我们可以在渲染器中找到_masterController并将其设置为:
public override void ViewWillLayoutSubviews()
{
base.ViewWillLayoutSubviews();
var master = ViewControllers[0];
master.View.BackgroundColor = UIColor.Clear;
//This is Detail ViewController
var detail = ViewController.ChildViewControllers[1];
}
为MasterDetailPage创建一个自定义渲染器,并将此代码放入其中.