Xamarin.forms Xamarin表单:根据字符数增加编辑器高度
在我的xamarin表单项目中,我有一个如下所示的编辑器 在上面键入消息时,我需要根据字符数增加编辑器的高度。 下面是我的底部部分的完整代码,我添加了一个框架布局,用于使入口角为圆形:Xamarin.forms Xamarin表单:根据字符数增加编辑器高度,xamarin.forms,height,editor,Xamarin.forms,Height,Editor,在我的xamarin表单项目中,我有一个如下所示的编辑器 在上面键入消息时,我需要根据字符数增加编辑器的高度。 下面是我的底部部分的完整代码,我添加了一个框架布局,用于使入口角为圆形: <StackLayout HorizontalOptions="FillAndExpand" x:Name="tweetBox" VerticalOptions="End" Ma
<StackLayout
HorizontalOptions="FillAndExpand"
x:Name="tweetBox"
VerticalOptions="End"
Margin="0,0,0,10"
BackgroundColor="#f2f2f2"
Orientation="Horizontal">
<Image
WidthRequest="25"
HeightRequest="25"
VerticalOptions="Center"
Source="ic_add_blue_xx.png"
Margin="10,5,-5,5">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="ShowPicureOptions"
NumberOfTapsRequired="1" />
</Image.GestureRecognizers>
</Image>
<Frame
Padding="0"
Margin="5,5,0,5"
HorizontalOptions="FillAndExpand"
CornerRadius="10">
<Editor
x:Name="tweetText"
HorizontalOptions="FillAndExpand"
VerticalOptions="Center"
FontFamily="Bold"
BackgroundColor="White"
TextColor="#959595"
AutoSize="TextChanges"
PlaceholderColor="#959595"
Placeholder=" Enter Message..."/>
</Frame>
<Image
VerticalOptions="Center"
WidthRequest="25"
Margin="5,5,10,5"
HeightRequest="25"
HorizontalOptions="End"
Source="ic_send_xx.png">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="SendTweet_Icon_Clicked"
NumberOfTapsRequired="1" />
</Image.GestureRecognizers>
</Image>
</StackLayout>
它现在是Xamarin.Forms中内置的。只需使用
编辑器
控件并将自动调整大小
属性设置为文本更改
。请注意,设置高度请求时,自动调整大小将不起作用
更多信息请点击此处:
更新:根据评论,我们决定用网格替换StackLayout有助于实现结果。这是因为StackLayout只会占用子级(最初)占用的空间。网格能够动态增长。添加autosize属性后不工作。键入消息时,文本显示在同一行中。仅显示一行,在完成第一行后不会转到新行,并且编辑器高度没有更改。请使用您拥有的一些不适用于您的代码更新您的问题我创建了一个示例项目,该功能在那里运行良好,但当我将其应用于主项目时,它不起作用。我在问题中添加了底部部分的全部代码(+图像、编辑器和发送图标),您能检查一下吗?尝试用网格替换堆栈布局
,我认为这没有内置功能。可能操作系统会有某种最大值。否则,您需要挂接到编辑器的SizeChanged
事件中,并自行实现一些功能。您的代码对我来说非常适合。不要执行,而是正确地提供文本并检入windows窗体预览器。@CGPA6.4对于我来说,条目的高度没有变化,在删除框架后尝试过,但没有变化。文本在一行中,没有多行。@CGPA6.4我创建了一个示例项目,该功能在那里运行良好,但当我将其应用于主项目时,它不起作用。我在问题中添加了底部的全部代码(+图像、编辑器和发送图标),您能检查一下吗?从StackLayout
中删除Orientation=“Horizontal”
比它应该工作的多。@CGPA6.4从StackLayout中删除Orientation=“Horizontal”可以工作,但图标是垂直格式的,我需要这3个图标在底部的水平方向