首页 > 解决方案 > 滚动时列表视图项目文本更改

问题描述

我有一个列表视图,我在其中绑定了多个数据,例如标签和图像,并且我在我的框架中有该列表,所以当列表大小大于 10 项左右时,滚动时我的图像会自行调整大小并且标签文本开始隐藏取消隐藏.

这是我的xml:

            <ListView 
                               x:Name="list" 
                               SelectionMode="None" 

                               SeparatorVisibility="None"
                               HasUnevenRows="True"
                               IsVisible="False"
                               BackgroundColor="Transparent"
                               ItemTapped="List_ItemTapped"
                               CachingStrategy="RetainElement"
                              >
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <ViewCell>
                                            <Frame Padding="10" Margin="10">

                                                <Grid>
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition 
        Height="Auto" />
                                                        <RowDefinition Height="*" 
        />
                                                    </Grid.RowDefinitions>
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition 
        Width="Auto" />
                                                        <ColumnDefinition 
        Width="*" />
                                                    </Grid.ColumnDefinitions>
                                                    <Label 
                                                        Grid.Row="0" 
                                                        Grid.Column="0"

                                                        Text="{Binding Note}" 
                                                        HorizontalOptions="Start"  
                                                        TextColor="Black"  
        FontSize="Small"
                                                        FontFamily=" 
       {StaticResource BoldFont}"
                                                        FontAttributes="Bold">
                                                    </Label>
                                                    <ImageButton
                                                         Grid.Row="0"  
                                                         Grid.Column="1"


        HorizontalOptions="EndAndExpand"
                                                        WidthRequest="22"
                                                        HeightRequest="22"
                                                        Padding="6"
                                                        Margin="0,0,0,0"
                                                        Clicked="btndelete"

        AbsoluteLayout.LayoutBounds="0,0,1,1"

        BackgroundColor="Transparent"
                                                        Source="close.png">
                                                    </ImageButton>
                                                    <Label 
                                                            Grid.Row="1"  
                                                            Grid.Column="0"

                                                            Text="{Binding 
        NOfQuestions}"
                                                            FontSize="12"
                                                            FontFamily=" 
       {StaticResource Regular}"
                                                            TextColor="White">

                                                    </Label>
                                                    <Label 
                                                            Grid.Row="1"  
                                                            Grid.Column="0"
                                                            Margin="15,0,0,0"

                                                            Text="{Binding 
        NOfDigits}"
                                                            FontSize="12"
                                                            FontFamily=" 
       {StaticResource Regular}"
                                                            TextColor="White">

                                                    </Label>
                                                </Grid>

                                            </Frame>
        </ViewCell>

                                </DataTemplate>
                            </ListView.ItemTemplate>
                          </ListView>

这是此视频中我的问题的视频,您可以看到列表看起来不错,但是当我开始滚动它时,文本开始隐藏,取消隐藏它的大小更改,交叉图像变小或变大,并且在删除所有列表项时文字消失

我的问题的GIF视频请看这个

标签: c#listviewxamarinxamarin.formslistviewitem

解决方案


这种重新渲染列表单元格的行为通常与ListView缓存策略有关。它定义了单元格的缓存方式,并在加载大量数据时尝试提高性能,但也可以与正确的显示相结合。尝试弄乱CachingStrategy. 在过去的经验中,将其设置为“RecycleElement”可以解决渲染问题。

此外,请查看此链接以获取有关 ListView 性能的更多信息。


推荐阅读