Cow*_*org 5 xaml editor xamarin xamarin.forms
我只是误解了 Editor-control 上的名称“AutoSize”-property 还是它根本不起作用?
我在 xaml 中有一个这样的控件:
<Editor AutoSize="TextChanges" HeightRequest="100"/>
Run Code Online (Sandbox Code Playgroud)
在高度为 100 时效果很好,但是当我写了几行时,它不会改变大小/高度。上面的文字只是向上滚动。
原因:
auto-size如果HeightRequest已设置该属性,则编辑器将不会。
你可以参考:
解决方案:
您可以删除该HeightRequest属性。Editor当您继续输入其他行时,该属性会自动增长。
<Editor Text="Enter text here" AutoSize="TextChanges" />
Run Code Online (Sandbox Code Playgroud)
如果您希望 AutoSize 工作,同时高度为 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)));
}
Run Code Online (Sandbox Code Playgroud)