使用StackLayout进行标签换行

我使用Xamarin并使用XAML创建了我的视图,但我无法为我的生活获取这个标签来包装我想要的方式。 如果标签到达屏幕边缘,我想要像这样包装...

现在看起来像这样...

这是我的代码:

<StackLayout Orientation="Vertical" HorizontalOptions="StartAndExpand" BindingContext="{Binding CurrentProviderDetails}" Padding="20,20,20,20" >
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
<!--Certification Board-->
  <StackLayout Orientation="Horizontal" HorizontalOptions="StartAndExpand" Grid.Row="0" Grid.Column="0" >
    <Label Text="Certification Board: " FontSize="13" HorizontalOptions="Fill" VerticalOptions="CenterAndExpand" />
    <Label Text="{Binding Certification}" VerticalOptions="CenterAndExpand"  HorizontalOptions="Center" Font="17" LineBreakMode="WordWrap"/>
  </StackLayout>
 </Grid>
</StackLayout>

这不需要在网格中,这只是我现在正在尝试的方法。 我唯一的要求是'认证委员会'是一个标签,并且我必须传递一个值,当它到达屏幕的末尾时,这个值将被换行。 任何帮助将是真棒,谢谢!


在标签中放入一个LineBreakMode =“NoWrap”标签。 这样你可以避免包装。

但是,如果你没有足够的空间,这个词将被切断。


您可以通过将包含在水平对齐的StackLayout中的两个标签组合到一个Label中并设置LineBreakMode =“WordWrap”来实现所需的外观。 XAML有一个称为StringFormat的强大特性。 您可以使用它将静态“认证委员会:”文本添加到绑定的认证属性。 你的标签应该是这样的:

<Label Text="{Binding Certification, StringFormat='Board Certification:{0:F0}'}" LineBreakMode="WordWrap"/>
链接地址: http://www.djcxy.com/p/88195.html

上一篇: Label wrapping with StackLayout

下一篇: Can we have multiple <tbody> in same <table>?