2017-03-01 66 views
0

我有一個StackLayout(垂直選項是開始)。我需要添加一個視圖,然後獲取StackLayout的高度。我怎樣才能做到這一點? 現在在後面的代碼中將代碼添加到StackLayout中後,我將Height屬性等於0.如何在動態添加視圖後獲取StackLayout的高度?

+0

發佈一些相關示例代碼。很可能你可以編寫你的佈局,這樣你就不需要知道確切的座標,例如在「自動」大小的網格的第一行中的堆棧內堆棧或堆棧,第二行包含任何你想要的放置在堆棧下 –

回答

0

代碼中的哪部分代碼試圖獲取大小?如果您在構造函數中或在添加視圖後檢查它,它將不起作用。你可以在構造函數中做的是:

 layout.SizeChanged += Layout_SizeChanged; 

,然後你會得到正確的大小

private void Layout_SizeChanged(object sender, EventArgs e) 
{ 
    var h = layout.Height; 
} 
0

我添加了一個視圖到stacklayout這樣

StackLayout currentColumn = columns.ElementAt(currentColumnIndex); 

currentColumn.Children.Add(orderCard); 

,並希望得到currentColumn.Height,但它是0.

取而代之,我用Measure並給出了一個cor rect Height

SizeRequest columnSizeRequest = currentColumn.Measure(OrdersContainer.Width/5, OrdersContainer.Height); 
相關問題