【发布时间】:2018-03-01 04:07:02
【问题描述】:
谁能告诉我如何在 XF-MasterDetailPage 中编辑 MasterBounds 的值。 我的更改没有效果(MasterDetailPageRenderer/Android):
protected override void OnLayout(bool changed, int l, int t, int r, int b)
{
base.OnLayout(changed, l, t, r, b);
if (page != null && page.MasterBehavior == MasterBehavior.Split)
{
if (((IMasterDetailPageController)page).MasterBounds.Y > 0)
{
Rectangle rect = ((IMasterDetailPageController)page).MasterBounds;
rect.Y = 0;
((IMasterDetailPageController)page).MasterBounds = rect;
}
}
}
我需要这样做,因为 Y 的值在某些设备上是错误的,所以顶部有一点空间。
谢谢!
【问题讨论】:
-
你用调试器验证过这个最终会被调用吗:((IMasterDetailPageController)page).MasterBounds = rect; ?
-
是的,它被调用了
-
好的,你有没有在修改之前检查过 Y 真的不是零?
-
是的,它的值为24
-
我无法让它工作,但发现在 AddView-Method 中有一个 MasterDetailContainer,其属性名为 TopPadding。该值也已设置,当我在调试器中更改它时,顶部的空间消失了。但是 MDC 是内部的,所以我不能在代码中更改它。该怎么做?
标签: c# xamarin xamarin.forms xamarin.android