簡體   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