我们可以在winrt listview中放入多少项目

时间:2015-06-05 07:55:16

标签: listview windows-runtime windows-phone-8.1

我有列表视图,其中包含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);

1 个答案:

答案 0 :(得分:0)

设置列表视图高度自动并将其包裹在scrollviewer周围将解决此问题。