我有列表视图,其中包含34个项目,如果我放置20个项目它可以正常工作但是当我放入所有项目并且向下滚动时,listview将我向上发送回来,并且在某个时间出现项目的白色矩形显示然后出现项目。感觉渲染需要时间。
上下滚动几次后表现良好。
我使用可观察列表作为来源。我只想要将多少项添加到listview中,如果我们只能添加20项,那么提供任何教程链接以添加20多个元素。
聚苯乙烯。我已经尝试过从互联网上的教程延迟加载,但同样的事情发生了。
修改
<Grid Grid.Row="2" x:Name="ContentRoot">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ListView Margin="0 20 0 10" Name="violationListView" ItemsSource="{Binding ViolationList, Mode=TwoWay}" ItemContainerStyle="{StaticResource ListViewItemExpanded1}">
<ListView.ItemTemplate>
<DataTemplate>
<!--<StackPanel Margin="16 20 16 10" Orientation="Vertical">-->
<Border Margin="8 0 8 0" Style="{StaticResource BackgroundLightStyle}" >
<Grid >
<Grid.Resources>
<common:AmountStringConversion x:Key="FormatConverter" />
<common:ZeroToEmptyStringConverter x:Key="ZeroConverter" />
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Margin="8,0,0,10" Tapped="StackPanel_Tapped" HorizontalAlignment="Stretch" Orientation="Horizontal">
<Image Source="/Assets/Images/bullet.png" VerticalAlignment="Center" Width="20" ></Image>
<TextBlock Margin="10,03,0,0" VerticalAlignment="Center" HorizontalAlignment="Stretch" Style="{StaticResource TextBoxHeadingStyle}" Text="{Binding TicketNumber, Converter={StaticResource FormatConverter}, ConverterParameter='Ticket Number {0}'}"></TextBlock>
</StackPanel>
<!--<Border Grid.Row="0" Margin="8,0,0,10" Tapped="StackPanel_Tapped" HorizontalAlignment="Stretch" Background="Transparent" />-->
<StackPanel Grid.Row="1" Margin="16 10 0 10" Orientation="Vertical" Visibility="{Binding DetailsVisibility, Mode=TwoWay}">
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" Text="" x:Uid="ViolationCreationDateTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding CreationDate}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="ViolationAcceptanceTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding AcceptanceDate}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="TripDateTimeTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding ViolationDate}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="TollGateLocationTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding Gate}"/>
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="TollGateDirectionTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding Direction}"/>
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="AmountVoilationTextBox" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding Amount}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="ViolationStatusTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding ViolationStatus}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="DueDateVoilationTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding DisputeDate}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="DisputeNumberTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding DisputeAppNumber, Converter={StaticResource ZeroConverter}, ConverterParameter='Ticket Number {0}'}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="PreffuredRefundMethodTextBlock" />
<TextBlock Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" Text="{Binding PreferredRefundMethod}" />
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="VehicleImageTextBlock" Visibility="{Binding IsImageAvailable}" />
<StackPanel Margin="0,05,0,10" Orientation="Horizontal" Visibility="{Binding IsImageAvailable}" >
<!--<Image Width="25" VerticalAlignment="Center" Height="Auto" Source="/Assets/Images/appbar.image.hdr.png" Tapped="Tap_ViewImage"/>-->
<toolkit:ImageButton Width="25" VerticalAlignment="Center" Stretch="Fill" NormalStateImageSource="/Assets/Images/appbar.image.hdr.png" GenerateMissingImages="True" Click="Tap_ViewImage" />
<TextBlock x:Uid="VehicleImageTextBlock" Margin="10,0,0,0" Style="{StaticResource ApplicationSubHeadingContentTextBlockStyle}" VerticalAlignment="Center" Tapped="Tap_ViewImage" />
</StackPanel>
<TextBlock Style="{StaticResource ApplicationSubHeadingTextBlockStyle}" x:Uid="AddToDisputeTextBlock" />
<ToggleSwitch Name="TagActivationAgreeToggle" x:Uid="TagActivationAgreeToggle" IsEnabled="{Binding AllowDispute}" IsOn="{Binding AddToDispute , Mode=TwoWay}" />
</StackPanel>
</Grid>
</Border>
<!--</StackPanel>-->
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Grid Grid.Row="1" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button x:Uid="CreateButton" Name="CreateButton" Grid.Column="0" HorizontalAlignment="Stretch" Margin="5 0" Style="{StaticResource ApplicationThemeButtonStyle}" Click="CreateButton_Click" />
</Grid>
</Grid>
在navigatedTo函数中,它从前一个屏幕接收列表,该列表返回普通列表,因此它首先将其转换为可观察列表,然后像这样分配给列表。
defaultViewModel.Add("ViolationList", violations);
答案 0 :(得分:0)
设置列表视图高度自动并将其包裹在scrollviewer周围将解决此问题。