【发布时间】:2022-01-09 05:37:19
【问题描述】:
我真的不知道如何在 Xamarin Forms 中获取控件尺寸。我认为这很容易:
View control = GetControlSomehow();
var bounds = control.Bounds;
但是 View.Bounds 会根据控件是否在网格内返回不同的内容;或者主布局是 AbsoluteLayout 还是其他布局。
例如,如果我执行以下操作:
<AbsoluteLayout>
<Button AbsoluteLayout.LayoutBounds="200,200" x:Name="btn" Text="Btn"/>
</AbsoluteLayout>
然后我无法读取该按钮的实际高度或宽度。虽然 MSDN 说 Height 和 Width 属性应该返回这些值。
我什至尝试过:
var width = ctrl.Width;
或
var width = ctrl.GetValue(WidthProperty);
但实际上这些都不起作用。我总是得到-1
那么我怎样才能得到可能可靠的控制维度呢?
【问题讨论】:
-
您是如何读取高度和宽度的?您是否要等到布局完成后再尝试?
-
全部加载完毕。例如,当我的页面出现时,我单击某个按钮,然后想要获取尺寸
-
为了帮助以后遇到类似问题的其他人,请在您的问题中添加不起作用的代码。然后这变成了一个完整的问答,展示了哪些不起作用,并显示了有关其他解决方法的答案。
标签: xamarin.forms