我有一个StackLayout(垂直选项是Start)。我需要添加一个视图,然后获取StackLayout的高度。我怎样才能做到这一点? 现在在后面的代码中向StackLayout添加一个视图后,我得到Height属性等于0。
答案 0 :(得分:3)
您尝试获取大小的代码的哪个部分?如果在构造函数中检查它或在添加视图后立即检查它将无法工作。你可以在构造函数中做什么:
layout.SizeChanged += Layout_SizeChanged;
然后你会得到正确的尺寸
private void Layout_SizeChanged(object sender, EventArgs e)
{
var h = layout.Height;
}
答案 1 :(得分:1)
我在这里添加了一个关于stacklayout的视图
StackLayout currentColumn = columns.ElementAt(currentColumnIndex);
currentColumn.Children.Add(orderCard);
想获得currentColumn.Height
,但它是0。
相反,我使用了Measure
并且提供了正确的Height
SizeRequest columnSizeRequest = currentColumn.Measure(OrdersContainer.Width / 5, OrdersContainer.Height);