我想创建一个 Xamarin 表单编辑器控件,当它被填充时会改变它的高度(当上一行中的空格完成时添加一个新行)。我只对WinPhone和Android Platfroms 感兴趣。
编辑器本身不支持此类属性。
我知道 Android 本机控件 (EditText) 支持它(不确定 WinPhone 变体 TextBox)。但我不确定如何实现它。
如果有人可以向我解释如何为这些平台创建渲染器,那将非常有帮助。
编辑
我找到了这个部分解决方案,它工作得很好,但不是那么自然(例如 Android 中的 EditText)。
class RoundedEditor : Editor
{
public RoundedEditor()
{
this.TextChanged += (sender, e) => { this.InvalidateMeasure(); };
}
}
如果有人能提供更好的解决方案,我会很高兴。
编辑 2
以下是它现在如何工作的结果:
UWP
写第一行:
按回车:
上一行没有像我想要的那样完全显示。
安卓
在android中它实际上工作得很好: