如何在Xamarin.Forms中进行类似编辑器的输入?

时间:2019-05-16 05:01:55

标签: xamarin xamarin.forms xamarin.ios cross-platform xamarin-entry

我正在创建一个移动应用程序,因为当用户创建该类型的消息然后单击“返回”或“从键盘输入完成”时,我需要发送一条消息以进行查询或支持,并且应调整用户的单击高度返回,也应该对其进行管理。因此,我无法使用Editor控件。 我正在使用一个共享项目来开发应用程序。

我尝试使用以下代码:

Sample.xaml

 <StackLayout Padding="50" HeightRequest="150">
    <Entry TextChanged="Entry_TextChanged" x:Name="EntryCustom"/>
 </StackLayout>

Sample.xaml.cs

private void Entry_TextChanged(object sender, TextChangedEventArgs args)
{
    int isElse = 0;
    if (args != null && args.OldTextValue != null && args.NewTextValue != null)
    {
        string[] oldval = args.OldTextValue.Split('\r');
        string[] Newval = args.NewTextValue.Split('\r');
        if (oldval.Count() > Newval.Count())
        {
            EntryCustom.HeightRequest = EntryCustom.HeightRequest - 33;
            isElse = 2;
        }
        else
            isElse = 1;
    }
    if (args.OldTextValue != null && (args.NewTextValue == "\n" || args.NewTextValue.EndsWith("\r")) && EntryCustom.HeightRequest < 100 && (isElse == 1 || args != null || args.OldTextValue.Count() > args.NewTextValue.Count()))
        EntryCustom.HeightRequest = EntryCustom.HeightRequest + 33;
}

任何人都可以调查一下并提出建议,我应该在代码中进行哪些更改?

1 个答案:

答案 0 :(得分:0)

您应该使用编辑器。使用<Editor AutoSize="TextChanges"/>,编辑器将根据输入的文本调整其大小。