如何在列表Xamarin表单中制作可滚动标签



我有一个固定行高的列表视图。在"列表"视图中,有一个带有大量描述的标签。我正在努力使这个标签可以滚动。有人能帮忙吗。

<ListView ItemsSource="{Binding ServiceList, Mode=TwoWay}" RowHeight="100">
<ListView.ItemTemplate>
<DataTemplate x:DataType="models:ServiceModel">
<ViewCell>
<ScrollView
Margin="0"
Padding="0"
HeightRequest="50">
<Label
LineBreakMode="WordWrap"
Style="{StaticResource blackColorLabel}"
Text="{Binding ServiceDescription}" />
</ScrollView>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>

如注释中所述,您不应该嵌套滚动视图,因为行为不稳定。不过,您可以使用BindableLayout

<StackLayout BindableLayout.ItemsSource="{Binding ServiceList}">
<BindableLayout.ItemTemplate>
<DataTemplate x:DataType="models:ServiceModel">
<ScrollView
Margin="0"
Padding="0"
HeightRequest="50">
<Label
LineBreakMode="WordWrap"
Style="{StaticResource blackColorLabel}"
Text="{Binding ServiceDescription}" />
</ScrollView>
</DataTemplate>
</BindableLayout.ItemTemplate>

RowHeight不适用于BindableLayouts,但您可能会将Label包装在ContentView中,并将ContentViewHeightReqeust设置为100。或者,甚至可以将您的Label Height Request设置为100,看看它能起到什么作用。

最新更新