如何用多行填充标签?

时间:2019-04-22 11:53:04

标签: xamarin.forms

我在listview的网格内有一个标签,该标签可从API中提取多行数据,我想显示该标签中的所有行。

\.

2 个答案:

答案 0 :(得分:0)

您可以使用Label中的FormattedText属性,它看起来像这样:

<Label FontFamily="{StaticResource RobotoBold}" FontSize="14">
    <Label.FormattedText>
        <FormattedString>
            <Span Text="Time: "/>
            <Span Text="{Binding Time}"/>
            <Span Text=" Costumer: "/>
            <Span Text="{Binding CustomerName}"/>
            <Span Text=" Status: "/>
            <Span Text="{Binding status}"/>
        </FormattedString>
    </Label.FormattedText>
</Label>

您可以按照自己想要的方式设置其格式,最后它只是所有文本串联在一起的一个标签。

答案 1 :(得分:0)

这未经测试,但是您可以在这里尝试/调整一些内容。

  1. 首先,将ListView属性HasUnevenRows设置为true。势在必行。
  2. 第二,您已指定要具有3列标签,但尚未为网格指定任何列。
  3. 最后,LineBreakMode作为标签的属性,默认情况下,它是自动换行的,只是检查是否仍然无效。

    <ListView x:Name="visitList" SeparatorColor="Black" SeparatorVisibility="Default" BackgroundColor="White" HasUnevenRows="true">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Frame Padding="2">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="*" />
                            </Grid.ColumnDefinitions>
    
                            <Label Text="{Binding Time}" Grid.Column="0"/>
                            <Label Text="{Binding CustomerName}" Grid.Column="1"/>
                            <Label Text="{Binding status}" Grid.Column="2"/>
                        </Grid>
                    </Frame>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
    

就像我说的那样,未经测试,但是看看是否有帮助。