Xamarin表格编辑器AutoSize不起作用

时间:2018-10-25 08:48:15

标签: xaml xamarin xamarin.forms editor

我只是误解了编辑器控件上的名称“ AutoSize”-属性,还是根本无法正常工作?

我在xaml中有一个类似的控件:

<Editor AutoSize="TextChanges" HeightRequest="100"/>

在高度为100时效果很好,但是当我写了几行时,它的大小/高度不会改变。上方的文本只是向上滚动。

2 个答案:

答案 0 :(得分:2)

原因:

如果设置了auto-size属性,则编辑器不会HeightRequest

您可以参考:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/text/editor#auto-sizing-an-editor

解决方案:

您可以删除HeightRequest属性。当您继续输入其他行时,Editor将自动增长。

<Editor Text="Enter text here" AutoSize="TextChanges" />

答案 1 :(得分:0)

如果您要使用自动尺寸调整功能,并且同时将高度设置为100, 您可以执行以下操作:创建一个继承了Editor的新类,在下面覆盖方法,并在页面上使用一个新类

protected override SizeRequest OnMeasure(double widthConstraint, double heightConstraint)
{
     var sizeRequest = base.OnMeasure(widthConstraint, heightConstraint);

     return new SizeRequest(new Size(sizeRequest.Request.Width, Math.Max(100, sizeRequest.Request.Height)));
}