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