Как сделать прокручиваемую метку в списке Xamarin Forms

У меня есть представление списка с фиксированной высотой строки. Внутри списка есть надпись с большим описанием. Я пытаюсь сделать этот ярлык прокрутки. Может кто-нибудь помочь, пожалуйста.

<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>

Всего 1 ответ


Как уже упоминалось в комментариях, вы не должны вкладывать scrollviews, потому что поведение нестабильно. Вы можете использовать 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 , но вы, вероятно, могли бы обернуть свою метку в ContentView и установить для параметра HeightReqeust для HeightReqeust значение 100 . Или, может быть, просто установите Label Height Request на Label Height Request 100 и посмотрите, что это делает.


Есть идеи?

10000