xamarin.forms - Xamarin 表单:根据字符数增加编辑器高度
问题描述
我的 xamarin 表单项目中有一个如下所示的编辑器。
当我在上面输入消息时,我需要根据字符数增加编辑器的高度。
这是我底部的完整代码,我添加了一个框架布局,使入口角是圆形的:
<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。只需使用Editor
控件并将AutoSize
属性设置为TextChanges
. 请注意,当您设置HeightRequest
.
此处的更多信息:https ://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/text/editor
更新:根据我们解决的评论,用 Grid 替换 StackLayout 可以帮助您实现结果。这是因为 StackLayout 只占用了(最初)由其子级占用的空间。网格能够动态增长。
推荐阅读
- python - scrapy+selenium 完成后如何抓取不同的页面列表?
- java - 如何在签名和证书部分删除 XML 数字签名中奇怪的行尾?
- python - 无法从 Windows 访问在 8000 上运行的 Django 应用程序
- swift - 在任何情况下都需要调用 `disposed(by:)` 吗?
- python - PermissionError:[Errno 13] 使用带有 pip-20.0.2-py2.py3-none-any.whl 轮文件的 virtualenv 和 virtualenvwrapper 的权限被拒绝
- python - 如何从 pcap 文件中提取所有数据包的 TCP 标头?
- r - 添加一个单独的 index.html 作为主页并将 shinyapp 路由到其他页面
- android - 如何在android中每2秒解析一次来自OBD II模拟器的数据
- python - 具有相同顶级名称的不同python包
- java - 打印从 1 到用户给出的数字的整数