[英]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.