我有一个固定行高的列表视图。在"列表"视图中,有一个带有大量描述的标签。我正在努力使这个标签可以滚动。有人能帮忙吗。
<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
中,并将ContentView
的HeightReqeust
设置为100
。或者,甚至可以将您的Label Height Request
设置为100
,看看它能起到什么作用。