列表视图中的ScrollView无法正常工作

时间:2018-01-30 12:56:52

标签: xamarin.forms

我在列表视图中放置一个滚动视图,该视图无法正常工作;它有时会卡住。我更改了VerticalOptions属性,但它会滚动移动然后卡住。

这是我的标记:

<ListView RowHeight="70" ItemTapped="ListView_ItemTapped" Margin="15,10" HasUnevenRows="True"  SeparatorVisibility="None" ItemsSource="{Binding InteractionsHistory}">
<ListView.ItemTemplate>
    <DataTemplate>
        <ViewCell >
            <StackLayout BackgroundColor="White"  
                                     Orientation="Horizontal" 
                                     HorizontalOptions="FillAndExpand" 
                                     VerticalOptions="FillAndExpand"
                                     Margin="0,0,0,10">
                <Grid  HorizontalOptions="FillAndExpand" RowSpacing="1" Margin="0,5,0,0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="25" />
                        <RowDefinition Height="1" />
                        <RowDefinition Height="100"/>
                        <RowDefinition Height="1" />
                        <RowDefinition Height="30" />
                    </Grid.RowDefinitions>
                    <StackLayout  Grid.Row="0" Orientation="Horizontal" Margin="5,0,5,0" >
                        <local:ImageCircle Aspect="AspectFill" VerticalOptions="Center" Source="{Binding ChannelImg}"  WidthRequest="25" HeightRequest="25"/>
                        <Label Text="{Binding InteractionAddedBy}" Style="{StaticResource lblCommonVewCase}" HorizontalOptions="FillAndExpand"/>
                        <Label Text="{Binding CreatedDate}" HorizontalOptions="EndAndExpand" Style="{StaticResource lblCommonVewCase}"/>
                    </StackLayout>
                    <StackLayout Margin="5,0,5,0" Style="{StaticResource CommonStackLayout}" Grid.Row="1"></StackLayout>
                    <ScrollView  Margin="10,10,10,0" Grid.Row="2"  VerticalOptions="Fill" Orientation="Vertical" HorizontalOptions="Fill" BackgroundColor="AliceBlue" >
                        <Label  Text="{Binding InteractionDesc}" VerticalOptions="FillAndExpand" Style="{StaticResource lblCommonVewCase}"/>
                    </ScrollView>
                    <StackLayout Margin="5,0,5,0" IsVisible="{Binding IsAttachmentVisible}"  Style="{StaticResource CommonStackLayout}" Grid.Row="3"></StackLayout>
                    <StackLayout Grid.Row="4" VerticalOptions="Center" Orientation="Horizontal" Margin="15,0" Padding="0,5" 
                                                 IsVisible="{Binding IsAttachmentVisible}" BackgroundColor="White">
                        <Image Source="attach.png" HeightRequest="15" WidthRequest="15" VerticalOptions="Center"/>
                        <Label Text="Attachments" Style="{StaticResource lblCommonVewCase}" VerticalOptions="Center"/>
                        <StackLayout.GestureRecognizers>
                            <TapGestureRecognizer Tapped="ViewAttach_Tapped" CommandParameter="{Binding .}"></TapGestureRecognizer>
                        </StackLayout.GestureRecognizers>
                    </StackLayout>
                </Grid>
            </StackLayout>
        </ViewCell>
    </DataTemplate>
</ListView.ItemTemplate>
</ListView>

1 个答案:

答案 0 :(得分:1)

  

您不应该将ListView放在ScrollView中,因为ListView类实现了自己的滚动,它只是不接收手势,因为它们都由父ScrollView处理。

https://forums.xamarin.com/discussion/2857/listview-inside-scrollview

即使在原生平台开发中,也不鼓励你在this question上看到它。