我正在尝试在stacklayout中放置一个标签...行数可能会根据数据而变化...但是当文本更多时,标签就会消失,它不会扩展..
<StackLayout Orientation="Vertical"
BackgroundColor="White"
VerticalOptions="FillAndExpand"
Spacing="0">
<StackLayout Orientation="Vertical" BackgroundColor="Silver"
HeightRequest="45">
<AbsoluteLayout BackgroundColor="White"
HorizontalOptions="FillAndExpand"
HeightRequest="44"
Margin="0.5"
VerticalOptions="StartAndExpand"
>
<Label Text="Objective"
Margin="15,0,0,0"
AbsoluteLayout.LayoutBounds="0,0.5,-1,-1"
AbsoluteLayout.LayoutFlags="PositionProportional"
VerticalTextAlignment="Center"
FontFamily="Roboto#300" FontSize="16" FontAttributes="None" TextColor="#FF888888" />
<Button HeightRequest="32" Margin="0,0,15,0"
WidthRequest="32"
Padding="0"
x:Name="ObjectiveButton"
Clicked="Objective_Button_Handle_Clicked"
BackgroundColor="Transparent"
AbsoluteLayout.LayoutBounds="1,0.5,-1,-1"
AbsoluteLayout.LayoutFlags="PositionProportional"
Image="collapseIcon.png"/>
</AbsoluteLayout>
</StackLayout>
<StackLayout Orientation="Vertical"
BackgroundColor="White"
x:Name="ObjectiveStackLayout"
VerticalOptions="CenterAndExpand"
IsVisible="true" >
<Label Text="Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat."
FontFamily="Roboto#400"
FontSize="14"
VerticalTextAlignment="Center"
Margin="15,10,0,0"
MaxLines="0"
LineBreakMode="WordWrap"
FontAttributes="None"
TextColor="#FF858585" />
</StackLayout>
</StackLayout>
答案 0 :(得分:1)
因此,最后我使用Grid解决了此问题...我没有将根视图视为StackLayout,而是将其视为Grid。如果我们为行高设置“自动”属性。标签大小将根据其内容确定。
答案 1 :(得分:0)
您要问的是,如果您愿意的话,标签在堆栈布局中的默认行为。
我不知道您要如何使用MaxLines,在这里,您要让0行文本显示在标签中,什么也不显示。
您只需要摆脱MaxLines属性,这样标签就可以根据其内容进行调整。
或者,或者我没有得到您想要做的事情。