首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据虚拟化不起作用

数据虚拟化不起作用
EN

Stack Overflow用户
提问于 2011-09-25 21:29:21
回答 1查看 622关注 0票数 1

我一直试图通过为我的ListView实现虚拟化来获得性能。

我使用以下文章来实现这一点:

WPF: Paul McClean http://www.codeproject.com/KB/WPF/WpfDataVirtualization.aspx的数据虚拟化

问题是,不只是加载几个页面,所有的页面实际上都是加载的,这是很奇怪的。在加载控件时,将加载所有项。

这是我的ListView:

代码语言:javascript
复制
    <ListView ItemsSource="{Binding}"
              VirtualizingStackPanel.IsVirtualizing="True"
              VirtualizingStackPanel.VirtualizationMode="Recycling"
              ScrollViewer.IsDeferredScrollingEnabled="True">
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <VirtualizingStackPanel>

                </VirtualizingStackPanel>
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <ListView.View>
            <GridView>
                <GridViewColumn Width="250">
                    <GridViewColumn.Header>
                        <TextBlock Text="Part Number" HorizontalAlignment="Left"></TextBlock>
                    </GridViewColumn.Header>
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Part.PartNumber}"></TextBlock>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

                <GridViewColumn Header="Description" Width="250">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Part.Description}"></TextBlock>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

                <GridViewColumn Header="Current Price" Width="250">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding CurrentPrice}"></TextBlock>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

                <GridViewColumn Header="Old Price" Width="250">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding OldPrice}"></TextBlock>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-25 21:48:27

我刚刚意识到我使用的是一个ScrollViewer.VerticalScrollBarVisibility="Visible") (属性ScrollViewer围绕着我的ListView ),这就是为什么所有的项目都同时加载的原因。

我把它拿走了,现在一切都很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7548752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档