我有一个包含数据列表的ItemsControl,我想对其进行虚拟化,但是使用VirtualizingStackPanel.IsVirtualizing="True"在ItemsControl上似乎不起作用。 这是真的吗?或者有其他我不知道的方式可以实现吗? 为了测试,我一直在使用以下代码块...
如果在拥有不同大小项的TreeView中启用了虚拟化,则会出现多个问题: 垂直滚动条会随机更改其大小,并且在查看整个树后不会记住元素的大小,使用鼠标滚动很困难。 上下滚动一段时间后,框架代码会抛出ArgumentNullException异常。 复现很简单:创建一个新的WPF应用程序,...
我已经实现了一个类似于此帖子中描述的选择模式,使用ViewModel存储IsSelected值,并将 ListViewItem.IsSelected 绑定到ViewModel的IsSelected属性:<ListView.ItemContainerStyle> <St...
在VirtualizingStackPanel.VirtualizationMode = Recycling/Standard情况下,实际上正在发生什么?
在WPF中,StackPanel和VirtualizingStackPanel有什么区别?
我有两个视图来展示一些数据:一个列表视图(现在是一个ListBox,但我一直想要切换到ListView),和一个在地图上以花式图形呈现的视图。无论在哪个视图中,用户都可以点击一个对象并将其选择。多选也是可能的,所以每个ViewModel实例有它自己的IsSelected属性。 目前我正在将L...
我有一个 ListBox,其中包含许多模板化的数据库记录行,包括一个 Image,绑定到一个 ObservableCollection<MyItem>。有时集合可能会包含数千个项目。 性能很好,但滚动是默认的跳跃行为。我想让它具有平滑的滚动效果,因此取消了 ScrollViewe...
首先,免责声明,我正在使用.NET 3.5的虚拟堆栈面板。如果您在未来版本中获得不同的行为,请让我知道。你可以很容易地设置一个带有listviews的测试用例来测试这个问题。 我在虚拟堆栈面板中有一个物品容器样式,将IsSelected属性绑定到视图模型上。 当我选择视图模型中屏幕外的未选择项...
我制作了一个简单的示例来重现我在TreeView上遇到的问题。如果我选择TreeView中的一个项目,向下滚动,改变Focus,然后再次选择TreeView中的一个项目,列表开始跳动。 只有当VirtualizingStackPanel.IsVirtualizing="True"时才会发生这...
我有一个使用ItemsControl控件在ScrollViewer中显示其项目,并进行虚拟化。我正在尝试将ScrollViewer滚动到其中包含的一个(屏幕外,因此是虚拟的)项目。然而,由于该项目是虚拟的,它并不存在于屏幕上并且没有位置(如果我理解正确的话)。 我已经尝试了对子元素使用Bri...