如果按照下面的代码尝试放置在屏幕中间的Label控件,则只显示Label中的一行,即使使用VerticalOptions,标签中的其余文本也不会显示=“ FillAndExpand”
<!-- StackLayout -->
<BoxView Style="{StaticResource separator}"></BoxView>
<StackLayout Style="{StaticResource layoutSpacingPrimary}" BackgroundColor="#EFEFF4" HorizontalOptions="FillAndExpand">
<Label Text="Looking to update your name?" Style="{StaticResource labelTitleBold}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"></Label>
<StackLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<Label Text="If you need to update your name please contact us and we can help with this request" Style="{StaticResource labelTitle}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"></Label>
</StackLayout>
</StackLayout>
<BoxView Style="{StaticResource separator}"></BoxView>
<!-- StackLayout -->
当前用户界面显示如下,
在这里,我没有看到完整的测试报告“如果您需要更新姓名,请与我们联系,我们可以为您提供帮助”
如果我对控件上方和下方的最基本元素启用VerticalOptions =“ FillAndExpand”,则如以下代码所示。
<BoxView Style="{StaticResource separator}"></BoxView>
<StackLayout Style="{StaticResource layoutSpacingPrimary}" BackgroundColor="#EFEFF4" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<Label Text="Looking to update your name?" Style="{StaticResource labelTitleBold}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"></Label>
<StackLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<Label Text="If you need to update your name please contact us and we can help with this request" Style="{StaticResource labelTitle}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"></Label>
</StackLayout>
</StackLayout>
<BoxView Style="{StaticResource separator}"></BoxView>
UI如下所示,
如何确保控件仅占用所需的空间并显示全部内容。请让我知道是否有人遇到过类似的问题。
答案 0 :(得分:0)
如docs中所述:
可以通过将Label.MaxLines属性设置为int值来指定Label显示的行数:
- 当MaxLines为0时,Label尊重LineBreakMode属性的值,以使其仅显示一行(可能已被截断)或显示所有行以及所有文本。
- MaxLines为1时,结果与将LineBreakMode属性设置为NoWrap,HeadTruncation,MiddleTruncation或TailTruncation相同。但是,如果适用的话,Label将在省略号的放置方面尊重LineBreakMode属性的值。
- 当MaxLines大于1时,Label将最多显示指定的行数,同时在省略号的位置方面考虑LineBreakMode属性的值(如果适用)。但是,如果LineBreakMode属性设置为NoWrap,则将MaxLines属性设置为大于1的值无效。
IDK您的样式到底能做什么,但是像这样设置LineBreakMode
和MaxLines
:
<Label
Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. In facilisis nulla eu felis fringilla vulputate. Nullam porta eleifend lacinia. Donec at iaculis tellus."
LineBreakMode="WordWrap"
MaxLines="2" />
我想您应该将该部分的VerticalOptions="FillAndExpand"
更改为VerticalOptions="StartAndExpand"
。
HIH