如何在 xamarin 形式的不同宽度的列表视图中显示不同长度的文本

问题描述

我有一个包含日志的列表,每个日志都有不同的大小。例如,第一个日志包含 50 个字符,下一个包含 500 个字符,我需要在列表视图项模板中显示整个 500 个字符。

请找到如下代码片段:-

<controls:CustomListView SeparatorVisibility="None"
                        ItemsSource="{Binding LogContentList}" 
                        Style="{StaticResource ListViewStyle}" SelectionMode="None" AutomationId="LogContentLabel">
                        <ListView.ItemTemplate>
                            <DataTemplate x:DataType="wrappers:LogContentWrapperModel">
                                <ViewCell>
                                    <Grid VerticalOptions="FillAndExpand">
                                        <Grid.RowDeFinitions>
                                            <RowDeFinition Height="*"/>
                                            <RowDeFinition Height="1"/>
                                        </Grid.RowDeFinitions>
                                        <Label Grid.Row="0"  Padding="10,5,10,5" Text="{Binding Content}" FontSize="{StaticResource FontSizeMedium}"
                                                TextColor="{StaticResource FiordColor}" MaxLines="10" HorizontalTextAlignment="Start" HorizontalOptions="CenterandExpand"/>
                                        <BoxView Grid.Row="1" Color="Black" HeightRequest="1" HorizontalOptions="FillAndExpand" VerticalOptions="End"/>
                                    </Grid>
                                </ViewCell>
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </controls:CustomListView>

我只需要在 listview ViewCell 中显示整个日志,但所有单元格都包含相同的宽度,我无法查看整个日志文本。

解决方法

要允许某些列表项具有多行,您应该尝试:

<ListView HasUnevenRows="True">
...
<RowDefinition Height="Auto"/>
...
<Label LineBreakMode="WordWrap"/>