Я пытаюсь динамически масштабировать вторую строку в зависимости от содержимого, но она должна расти только до определенной высоты.Аналогично тому, что делают приложения чата, расширяемый редактор расширяется на основе содержащегося в нем текста.Моя проблема здесь в том, что если текст действительно достаточно высокий, он может сделать первую строку невидимой.
Как установить максимальную высоту для второй строки, чтобы первая строка не быласкрыт?
ContentPage.cs
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:renderer="clr-namespace:Project.renderers"
x:Class="Project.MainPage">
<Grid VerticalOptions="FillAndExpand">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ListView VerticalOptions="Fill" Grid.Row="0"/>
<StackLayout Orientation="Horizontal"
VerticalOptions="EndAndExpand"
BackgroundColor="Green"
HorizontalOptions="Fill"
Grid.Row="1">
<renderer:ExpandableEditor VerticalOptions="FillAndExpand"
HorizontalOptions="Center"
MaxLength="3000"
AutoSize="TextChanges"
TextColor="Black"/>
</StackLayout>
</Grid>
</ContentPage>
ExpandableEditor.cs
public class ExpandableEditor : Editor
{
public ExpandableEditor()
{
TextChanged += OnTextChanged;
}
~ExpandableEditor()
{
TextChanged -= OnTextChanged;
}
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
InvalidateMeasure();
}
}