我使用Xamarin.Forms并且我还没有找到如何为UWP建立多线标签。在我的真实项目中,我在Grid
的{{1}} ViewCell
上有标签。对于以下示例,我将其放入ListView
:
StackLayout
代码适用于iOS和Android,但不适用于UWP。这里的文字被切断了。如果只使用一个标签且没有<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<Label x:Name="titleLabel" Text="some long text" LineBreakMode="WordWrap" />
<Label x:Name="valueLabel" Text="perhaps a much, much, much, much, much, much, much, much, much longer text" LineBreakMode="WordWrap" />
</StackLayout>
,则它会在UWP上使用多行文字正确显示。
我还尝试使用多行StackLayout
作为标签的自定义渲染器,但结果是相同的 - 文本被截断。
这是一个错误还是我错过了什么?
修改
现在我做了一个UWP项目
TextBlock
这里的文字也被截断了。看起来在UWP中是不可能的。还有其他解决方案/解决方法吗?
答案 0 :(得分:2)
如果为每个标签设置WidthRequest
,则会正确显示多行标签(通过增加高度)。
另一种解决方案是将标签放入Grid
并使用固定的列宽。
这种行为的原因可能是StackLayout
有default width of Auto
(如果没有明确设置),标签不知道它有多大。如果设置宽度,标签可以增长到该大小。
This post让我了解了这个想法。