繁体   English   中英

Layout如何在Xamarin.Forms中绘制其子元素?

[英]How does Layout draw its child elements in Xamarin.Forms?

构建自己的视图的传统方法似乎是从View派生一个新类,然后为它提供特定平台的渲染器。 在渲染器中,您将创建为该视图显示的元素的可视树。 但是,布局类似乎没有渲染器,但是它们能够在其表面上绘制元素的任何可视结构。

我想知道,有没有办法仅使用Element类来重现此行为? 从理论上讲,它应该具有建立正确的父子关系的方法,但是当我尝试设置Parent属性时,子元素不会显示在父级的表面上。 将显示父项本身。

那么如何使子元素出现在屏幕上?

有一个名为LogicalChildrenInternal的属性,负责枚举每个元素的子级。 不幸的是,它是内部虚拟的,并返回一个静态的空集合,因此Element类不适合直接使用。 在诸如ViewCell和Layout的类中,此属性被覆盖,您可以通过反射替换原始集合,并看到新的set子集显示在布局上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM