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

How to display a text with different length inside a list view with different width in xamarin forms

我有一个包含日志的列表,每个日志都有不同的大小。例如,第一个日志包含 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>

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

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

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