【问题标题】:Xamarin forms Editor AutoSize does not workXamarin 表单编辑器 AutoSize 不起作用
【发布时间】:2018-10-25 08:48:14
【问题描述】:

我只是误解了编辑器控件上的“AutoSize”属性名称,还是它根本不起作用?

我在 xaml 中有这样的控件:

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

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

【问题讨论】:

  • 最好发布您的整个 xaml 文件。这可能取决于您的其他布局。

标签: xaml xamarin xamarin.forms editor


【解决方案1】:

原因:

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

你可以参考:

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" />

【讨论】:

    【解决方案2】:

    如果您希望 AutoSize 工作,同时高度为 100, 你可以这样做:创建一个继承编辑器的新类,覆盖下面的方法并在你的页面上使用一个新类

    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)));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 2018-11-11
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      相关资源
      最近更新 更多